Нужно ли учить язык С? перед С# или джава? или перед С++?

Нужно ли учить язык С? перед С# или джава? или перед С++?

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

То о чем вы говорите называеться «Архитектура процессора x86»

А почему именно х86? Просто архитектуру микропроцессорных систем, включая всяческие RISC и VLIW. Причем совершенно необязательно глубоко. На уровне понимания способов адресации и передачи управления.

То о чем вы говорите называеться «Архитектура процессора x86» (я бы сюда сразу же добавил «Операционные системы»).

«Учи Assembler» — асоциируеться с заучиванием всех 500 (или сколько их там сейчас) комманд x86 на память... Хотя рядовому веб-программисту они и нафиг не нужны.

Но выражение «Учи Assembler» впринципе некорректно.

И чем же оно не корректно? Есть такой язык программирования как Assembler? — Есть. Если быть точным имелся в виду ассемблер для процесоров семейства intel x86.
Его можно выучить? — Можно. Значит выражение абсолютно корректно.
Ну, а учить его нужно конечно же не затем чтобы на нем писать, а затем чтобы понимать что фактически происходит когда выполняется написанный например на Java код. Например что происходит когда мы вызываем метод какого-то бинес бина.
Или например: как програмист может объективно понимать причины проявления race condition если он не знает что и как фактически выполняет процессор?
C++ нужно учить именно в связке с ассемблером чтобы понимать во что превращаются высокоуровневые конструкции во время выполнения.

Java или NET — учить нужно тк это фактически стандартные языки для реализации production систем в бизнесе.

Якщо в аналогіях то уявіть собі ювеліра який перекваліфікувався у коваля
Він довгі роки буде потерпати від надлишкової деталізації, та акуратності

Я б не сказав що коваль чи ювелір каліки просто стиль вироблений роками лишає слід

специфічно сформований сішний стиль програмування і мишлення

Тут можна подетальніше.
Мені наприклад тяжко переключатися з С на С++, а от із С на С# досить легко.
Тому все що можна написати під Вінду (робочі тулзи для проекту) пишу на С#, хоча іноді бувають тяжкі випдаки, іноді не вдається підключити сторонні DDL написані на С++ до С# коду, отоді приходиться юзати С++, а це напряжніше.
Якщо такий вирок Сникам і плюсистам, то цікавить, ,
а що ж тоді мона сказати про паскалістів та делфістів,

вони теж каліки і не можуть успішно освоїти джаб/шарп?

через специфічно сформований сішний стиль програмування і мишлення

А вот с этого места пожалуйста подробнее... Т.е. я конечно понимаю, что многие Java/C#-кодеры выросли из Бейсика, но нельзя же это считать нормой.


Боюсь зара ти получиш по саме нехочу за ругательне слово «асємблер».
Тут на ДОУ в колах «інтелектуалів» вивчення асми грішне діло.
Якщо знаєш асму -> «низько кодиш» -> фіг поймеш високі абстракції.

Такі от існують стереотипи.

В мене існують інші стереотипи

Сформовані сішники сіплюсплюсники погано надаються до програмування на Java/C# через специфічно сформований сішний стиль програмування і мишлення

2 изнанко

учили восновном Делфи и ВБ, очевидно-же.

Может лучше перефразировать вопрос: кто из джавистов, сиплюсистов или сишарпистов учил сначала С или Ассемблер и кому это пригодилось?

не, стереотип немонога другой.

Но выражение «Учи Assembler» впринципе некорректно.

2Виталій,
Боюсь зара ти получиш по саме нехочу за ругательне слово «асємблер».
Тут на ДОУ в колах «інтелектуалів» вивчення асми грішне діло.
Якщо знаєш асму -> «низько кодиш» -> фіг поймеш високі абстракції.

Такі от існують стереотипи.

Нужно учить C++ и Assembler, а затем можно Java или C#

Assembler нужен не для программирования на нем, а для понимания того как все работает.

две разные парадигмы — С = типо портированный ассемблер — С++ = типо непортироуемый ассембер с частичной поддержкой ООП

Напишите, пожалуйста, основные отличия языка С++ от языка С...

2плохиш,
И снова о азиатском
"
Подходит во Львове иностранец к двум панам и спраушивает что-то сначала на английскомпотом по немецки, потом по испански потом еще на двух -трёх языках.
Тут один говорит:
-Куме, дивись, яка розумна людина аж на 5 мовах шварнякає. — І що це йому дало?
"
Я недавно въехал в тот стиль работы который видел в Китае, и который ты описал имет место и в Корее.
Этому помогла одна статья товарища, который занимается проблемами развитие мозга.
Так вот азиатский стиль похож на работу эволюции — случайными вариациями получать требуемый результат.
То есть после Н количества итераций получается желаемый резульат (паттерн, который далее применяется и варьируется), хотя, если бы приложить умственные усилия, можно было бы сделать намного ефективнее....
Так что не надо приводить пример Азии — там другой мир, другие подходы.
Зачем Китайцам учить инглишь, если их 1, 5 млрд?
Или, для чего им напрягать моск и подумать наперёд о способе как лучше сделать продукт, если проще прогнать вживую Монте-Крало симулицию....
Продолжу тему про латынь. — для юристов латынь важно по той причине, как западная система построена на римской системе права.
За пределами бывшего совка тяжело найти юриста без базовых знаний латыни.
Аналогично с докторами. Даже когда латынь “метрва” почему-то на “тупом западе” ееё учат.
Думаю, если через Х лет С не будет использоваться, всеравно его будут учить.
В последнее время в даташитах приводят так званный “псевдо-язык” для написания примеров, как запустить чимп в каком-нибудь режиме.
Синтаксис этого псевдо кода очень похож на С.
Кроме того, достаточно выучить граматику латыни, чтобы потом понимать грамматическую основу романо-германских языков.
О совреённом инженере. он должен — быть специалистом в своей индустрии — знать хотябы один иностранный язык (английский) — быть компьютерно грамотным.

Я не втречал специалистов на заподе с высшим образованием, кто не знает английского.

А я не ставлю задачи с тобой дискутировать. С mymuss-ом или jd можно обменяться мнениями и информацией. Разговоры же с тобой сводятся исключительно к отбитию особо бессмысленных наездов и польза от них только владельцам интернет-каналов.

На сей мажорной ноте разрешите участие в оффтопном флуде считать законченным.

to eugene_n
Я не ставлю перед собой задачей тебя унизить или оскорбить. Но есть реалии — ты часто категорично (а это решающий фактор который меня толкает на дискус) судиш о вещах которые объять не в состоянии или ты не имееш полной картины. А чаще всего с подростковой логикой — вот у меня так — и поэтому так везде. ничего личного — я почему за язык зацепился — это для меня очень близкое — оно меня много лет терзает — и я об этом много думаю.
— тебе как человеку с инжинерных задворок не знаю
я тут практически цитирую тебя ибо в каждом втором твоем посте ты кроиш и Украину и Киев и отечественный бизнес -, а тут тебя вдруг это задело.

Лана — давай прекращать.

тебе как человеку с инжинерных задворок не знаю.

Для большей убедительности аргументации надо было обложить меня трехэтажным,

to euegene
Ты не слышиш
— И совершенно бесполезны в ежедневном гуглении или чтении профессиональных новостных групп.
они не пользуюцо гуглом. Юзаецо naver.
— А мы обсуждаем полное незнание языка.
именно так — полное незнание — совершенное.
— Расскажите где бы мне достать RFC на корейском? А документацию на последние Интеловские чипсеты?

тебе как человеку с инжинерных задворок не знаю.


Когда ты мировой лидер в индустрии — все сделано под тебя.
Расскажите где бы мне достать RFC на корейском?

А документацию на последние Интеловские чипсеты?


Сказано ведь, есть переводчики.

Которые переводят уже найденную информацию. И совершенно бесполезны в ежедневном гуглении или чтении профессиональных новостных групп.

А чтоб документацию прочесть глубоких знаний английского не нужно.

А мы обсуждаем полное незнание языка. Напомню — аналогия пошла от знания С, без понимания которого читать многие книги по программированию бесполезно.

eugene_n — Можно зайти на сайт любого производителя комплектующих или организации международных стандартов.
и о чем это говорит? Я вроде бы уже привел тебе пример про сэми. Аналагично могу привести ряд других примеров — например одва. Еще раз для тех кто в танке — все что необходимо есть на родном языке ибо язык — это вторично. Когда ты мировой лидер в индустрии — все сделано под тебя.
— И уж точно без знания языка, инженер заведомо проигрывает во времени в ожидании перевода.

да это тебе надо соренвноваться — ибо это ты на задворках — это тебе надо учить язык — это тебе надо приспосабливаться. А шарящим пацанам на острии индустрии все подтягивают еще горяченьким — прямо из печки. Опять таки — я в таком же положении как и ты — ибо отечественной индустрии просто нет. Повторюсь ты не можеш судить — ибо не понимаеш о чем говориш.

«Увы и ах, доки на азиатских языках вы найдете меньше чем в половине случаев. »
Сказано ведь, есть переводчики.

А чтоб документацию прочесть глубоких знаний английского не нужно.

2 plochish

Как всегда не могу с вами не согласиться. Главное — это быть классным специалистом в своей области. А языка хватит и intermediate, что в принципе не сложно, да и не всем нужно.


рядом с мной килотонны красивенных книг — все на родном языке — ВСЕ!!!
Да неужели? Можно зайти на сайт любого производителя комплектующих или организации международных стандартов. Увы и ах, доки на азиатских языках вы найдете меньше чем в половине случаев. А уж например на хинди — никогда.

И уж точно без знания языка, инженер заведомо проигрывает во времени в ожидании перевода.

to eugene_n
Повторюсь — азиаты английским языком владеют чуть менее чем на уровне плинтуса. Им это не нужно — они так щасливы — они не разрушали свои страны под дикие вопли -, а усердно трудились и делали свое дело. У них все свое.
— специальных журналов они не читают
переведенные
— и на выставки/семинары не ездят
тут все сплошь и рядом на родном языке
— даташиты к ним приносят уже переведенными
рядом с мной килотонны красивенных книг — все на родном языке — ВСЕ!!! Даже SEMI стандарты — ито переведено. Любая командировка — это ОБЯЗАТЕЛЬНО — наем переводчика — ибо с английским все будет плохо. На всю жизнь запомню эпизод — это так штобы было понятно в целом. Стоим в клинруме компании Foxconn (это крупнейший аутсорсер в мире которые выполняет всякое разное для монстров индустрии — en.wikipedia.org/wiki/Foxconn — вокруг меня — двое корейцев (это типа мои) — один тайванец — два китайца (из местных спецов) — один японец (с шарпа). Никто никого не понимает — в тот день не пришла переводчица — и вот один китаец немного понимал японский -, а его друг китаец чутка говорил на английском. Я тоже чутка говорю по английски -, а кореец умеет принимать мои мозговые излучения. Так и работали -, а там всегото надо было словить какойто плсишный битик. И если щас смотриш в моник от хьюлит пакарда — то может быть он был сделан именно вот такими пацанами. А если смориш в другой — не переживай он сделан также. К слову корецы гугл например не юзают в принципе — это так лирика.
—, но быть действительно хорошим специалистом не получится.

это ты как обычно про себя? Не надо делать такие глупые умозаключения когда твой опыть не позволяет этого.

troyand: «однако для программирования на высокоуровневых языках, возможно, это даже помешает, вынуждая использовать неприменимые в данной сфере подходы.»

Думаю, вы правы.


Я видел сотни (это не фигура речи) людей из разных стран которые двух слов связать не могут на английском
Т.е. и специальных журналов они не читают, и на выставки/семинары не ездят и даташиты к ним приносят уже переведенными?

Я собсно в этом контексте и привел аналогию — работать-то можно, но быть действительно хорошим специалистом не получится.

to eugene_n — Тут наверное правильной аналогией будет: «а нужно ли инженеру знать английский? »

нет не нужно. Я видел сотни (это не фигура речи) людей из разных стран которые двух слов связать не могут на английском и при этом ты и многие другие пользуются результатами их работы каждый день. Ты наверное хотел спросить «нужно ли знать постсоветскому инжинеру, который полностью завязан на запад ибо все родное разрушено до тла, знать английский».

А надо ли доктору/юристу учить латынь?

Тут наверное правильной аналогией будет: «а нужно ли инженеру знать английский? »

ну юристу относительно, а вот доктор без знания латыни хотя бы основ неполноценный будет:)

Перед тем как написать своё мнение задам вопрос:

А надо ли доктору/юристу учить латынь?

Знание C может помочь в понимании некоторых идиом, таких как

while (*p++ = *q++);

Но в целом, надо сначала понять надо ли работать с памятью в языке программирования: если да, то знание C, скорее всего, обязательно; однако для программирования на высокоуровневых языках, возможно, это даже помешает, вынуждая использовать неприменимые в данной сфере подходы.


Некоторое студие так и не может понять одну вещь — написание морд к базам данных это всего лишь одно из тысяч направлений ИТ. Хотя и весьма популярное для аутсорсинга в страны третьего мира.

И тут я с вами полностью согласен. Но морды ведь разные бывают... Поэтому кроме языка нужно понимание технологии — это когда программист знает почему в данном случае нужно использовать именно этот класс, метод или (глобальнее) фреймворк. А для этого необходимо минимум 3−4 года даже для C#.

2 sashaeve

Некоторое студие так и не может понять одну вещь — написание морд к базам данных это всего лишь одно из тысяч направлений ИТ. Хотя и весьма популярное для аутсорсинга в страны третьего мира.

Нужно ли учить язык С? перед С# или джава? или перед С++?

Я начинал с паскаля, птм был С, птм немного бэёсика, птм Вижуал С++, птм С++, а птм C#, j2me. Профессионально сейчас использую C#, J2EE & AS (Flex).

Я не думаю, что сейчас необходимо учить С или С++ дял того, чтобы кодить на C# или Java; -)

Опять по кругу пошли.
сарказм Не буду говорить за всех программистов, но вот каждый уважающий себя дотнетчик должен написать свой CLR-совместимый язык. Потому что, должен. Должен знать как работают компиляторы, знать msil лучше английского, выучить наизусть все API windows начиная с 3.11, а еще он должен всем ходить и рассказывать, что программист, который этого не знает — это не программист. /сарказм

Приведу один диалог:

— С каких пор можно генерировать хороший C# код в серьезных проектах с высокими требованиями по производительности и в условиях минимизации используемых ресурсов без того, чтобы «отвлекаться на то, как что-то реализовать»? Позвольте с вами не согласиться. — Думать конечно надо, что ты делаешь, но забивать голову выделением памяти и сбором мусора в 2010 году имхо уже несолидно

Проблема в том, что программисты старой закалки никак не могут привыкнуть к той мысли, что кроме классического С++ есть другие высокоуровневые языки, на которых МОЖНО разрабатывать программы без лишних проблем.

Чистый С нужен в случаях, если человек занимается криптографией (я сомневаюсь, что кто-то из тех, кто толкает C и С++ в массы сможет по спецификации написать реализацию RSA алгоритма) или алгоритмами, в других случаях он не нужен.

а компиляторы и интерпритаторы под определение «системный софт» не подпадают?

А вот это зря, программирование системным софтом и ембедедом не заканчиваеться...

Просто ради смеха. А на чем сделаны все эти ваши Питоны и ПХПы? Или это тоже эмбед?

считаю что человека знающего С можно называть непрограммистом

Не считаю что человека не знающего С можно называть программистом.

А вот это зря, программирование системным софтом и ембедедом не заканчиваеться...

Не считаю что человека не знающего С можно называть программистом.

Нужно. Просто потом ты можешь передумать насчет C#/Java и посмотришь в другую сторону.

А что «K& R вместо азбуки» уже не в моде?

Не нужно, Но без С понимания потеряешь некоторый пласт классических технических решений.

нет. С нужно учить если нужно знать С. если нужен С++ нужно учить С++

Вообще не понимаю смысла вопроса. Это для того, чтобы мотивировать себя для изучения С, или напротив — с чистой совестью забить? Возьми книжку, выучи язык и не задавай непонятных вопросов (благо язык не большой). Лишним он не станет однозначно.
З.Ы. Только знание языка, само по себе, тебе мало что даст...

З.З. Ы. Вообще лучше тему сразу прибить.

1. Если хочешь повысить свою ценность на рынке и если намереваешься каким-то боком зацепить эмбеддед — да.
2. Нет. С# и Java с синтаксической точки зрения имеют очень мало общего с Pure C.
3. Не обязательно, но полезно.

Лучшее руководство для начинающих — Хэзфилд.

Перед С++ или вместе с С++, но знать С придётся, так как множество проектов смешанные и какая-то часть написана на С.

Підписатись на коментарі