![](../004.gif)
Языки программирования. Обзор-ликбез.
Спецвыпуск Хакер, номер #004, стр. 004-036-1
The Hound Of Winter (thow@ireland.com)
Зачастую человек, который хочет научиться программировать, не может выбрать, с какого именно языка ему стоит начать обучение. Он мечется в поисках простого и понятного, но практически везде наталкивается на почти непреодолимую для непосвященного преграду из непонятных терминов, классификаций, структур. И обычно самому разобраться в них не представляется возможным. Так и появляются клянчащие ламеры в ньюс-конференциях, которые в поисках помощи, исходят криком на продукты жизнедеятельности человека, доставая окружающих своими криками, вроде: "НаУЧИте МЕня ПРАГРОМИРАВАТЬ!". Можно попытаться помочь таким людям, но в большинстве своем они хотят всего и быстро, а не понемногу и постепенно, как это происходит на самом деле. Как говорит мой знакомый: "Халявы на халяву не бывает". И он абсолютно прав. ;-) Чтобы иметь халяву, нужно учиться ее иметь! ;-) Нельзя стать крутым программистом а-ля Ромеро (который есть автор DOOM'а и еще пары знаменитых игровых движков от ID Software) просто так, "за нефиг делать" в течение недели. Но даже если ты учился кодингу десять лет, знать о нем абсолютно все тоже не получится. А потому надо разобраться, какие вообще языки программирования существуют и какие наиболее популярны, а какие просты в освоении и легче в понимании. Поделюсь собственными знаниями и опытом более шести лет кодинга. Принимать за правила или руководство к действию эту статью может и не стоит, но - информация к размышлению, как говорят. ;-)
Дело было давно
На данный момент языков программирования насчитывается наверняка уже гораздо больше сотни. Полный их список с короткими комментариями можно было бы напечатать брошюрой, вроде мемуаров отставного полковника. Первые языки программирования появились еще в середине 40-х годов! Похоже, не удастся установить, кто же все-таки был самым первым, но из них сейчас известны забугорный "Plan.Calcul" и отечественный "Краткий код" для малых вычислительных систем. Затем произошло что-то вроде взрыва активности по созданию языков автоматизации всяческих процессов, и этих самых языков стало больше, чем грибов после дождичка в четверг. Самыми первыми, конечно, были языки, программы на которых выглядели "плоско". Не было ветвлений и всяческих переходов. Условные переходы - это уже следующая ступень развития, которая принесла намного больше функциональности и позволила делать нечто большее, чем сложение двух-трех чисел и вычисление логарифма от двойки. Постепенно новые (в то время) языки программирования становились все больше и больше непохожими друг на друга, появлялись целые направления в программировании со своими концепциями и методами написания программ. Многие языки появлялись исключительно благодаря операционным системам, в состав которых они входили, другие были очень удобны для написания программ на конкретном аппаратном обеспечении. Многие принятые сейчас стандарты в период с конца 60-х до начала 70-х попросту не существовали, и каждый создавал железки по своему образу и подобию. Без каких-либо пожеланий быть совместимым с кем-то еще. Таким образом, под каждую железяку свое программное обеспечение (утилиты, драйвера, прикладные программы) создавалось каждый раз с нуля. Происходило это, в общем-то, от того, что не было создано более-менее универсального языка (или нескольких языков), подходящего для каждого конкретного круга задач. Вот и вынуждены были стараться кто во что горазд.