IT формат электронный журнал
changemoney.me
«    Ноябрь 2017    »
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 

Инструменты нового века

Инструменты нового века

 

Роман Величкин

stormpmm@rambler.ru

 

Языков программирования уже такое количество, что даже самый большой специалист в этой области едва ли знает все. Краткий список можно посмотреть тут. Но вот существенных отличий между ними не так уж и много. Давайте попробуем разобраться во всем этом кажущемся многообразии.

Термин «язык программирования» значит несколько больше, чем просто набор команд и синтаксиса, которые можно перевести в машинный код (в результате процесса компиляции), это ещё и огромные вехи в развитии информатики, показатель качественно новых возможностей в программировании… В самом деле, будь программирование сухим и лишённым творчества процессом, за пару десятилетий вполне можно было бы прийти к универсальному языку, выбрав наиболее удобные и функциональные конструкции из всех. Но, как показывает практика, этого не происходит. Можно выделить так называемый «мэйнстрим», то есть несколько наиболее используемых языков, но не более того. Например, сейчас туда можно отнести С,С++, Java, php. Но существует, а также активно развивается и используется множество других. А всё дело в том, что программисты думают на своем языке, для них это именно средство мышления и выражения своих мыслей, как русский или английский для большинства людей. Поэтому-то и есть разные стили в написании и проектировании приложений – человек ищет нечто, подходящее для себя (разумеется, что и от задачи зависит выбор языка, на котором её удобнее реализовать, но это скорее влияет на «группу», из которой уже выбирается язык, удобный для человека).

Но начнём с начала, а конкретнее с ассемблера (Assembler). Да, в нём сохранились машинные коды, но всё же программисту уже не нужно было досконально разбираться в архитектуре на аппаратном уровне, что позволяло говорить о существенном увеличении предельной сложности программ и некоей переносимости с одной машины на другую. Тем не менее, процесс написания даже самых тривиальных программ был достаточно сложен, требовал больших знаний и, как следствие, большого финансирования.

Следующим крупным шагом стала разработка в 1954 году Fortran, ставшего первым высокоуровневым языком программирования. А это значило, что машинные коды больше не были необходимостью, что делало сам процесс написания приложений гораздо более лёгким и доступным. Вторым важным новшеством стала концепция подпрограмм. Подобно девизу Цезаря «разделяй и властвуй», программист отныне мог разделять задачу на несколько более мелких (а потому лёгких), решать их отдельно друг от друга, склеивая результаты в конце. Общество встретило Fortran настороженно, но со временем он стал очень популярным, о чём косвенно свидетельствует появление новых версий, вплоть до четвёртой.

Cobol’у удалось сместить Fortran с пьедестала в 60-ые годы. Само название является аббревиатурой от COmmon Business Oriented Language, то есть универсальный язык, предназначенный для разработки бизнес-приложений. Но это уже было эволюцией, а не революцией: улучшения были, но сильно меняли сам процесс кодирования.

Следующими станциями нашего паровоза истории послужат Basic и Pascal. Даже исходя из названия первого, можно сделать вывод о том, что язык несложный. Это действительно так. По задумке авторов, Basic должен был стать учебным языком, который можно легко и, что немаловажно, быстро освоить. На каком-то этапе в разработку включился и небезызвестный основатель Microsoft’a Билл Гейтс, написавший одну из версий. Активно её усовершенствуя, Билл выпускает уже не первую версию продукта Microsoft Visual Basic, которая заметно обросла возможностями. Освоить весь язык теперь достаточно сложно, но идеология простого начала сохранена. Pascal же просто произвёл настоящий фурор в кругах программистов. Возможность отдельной компиляции частей программы, широта применений, скорость разработки – это далеко не полный перечень всех достоинств, выгодно отличающих его от конкурентов. Но особую роль сыграла простота изучения. Pascal превзошёл Basic в этом аспекте и получил право называться «лучшим средством обучения программированию». Затем появляется Delphi – своеобразная среда разработки с компилятором Pascal. Благодаря удобству и простоте, она и сегодня является одним из самых успешных проектов на рынке.

Но время неумолимо течёт, выдвигая всё новые и новые требования. Так, с некоей ностальгией, но вынужден констатировать, что это всё языки прошлого. Нет, разумеется, на них можно написать достаточно сложные программные продукты, но появились средства, лучше отвечающие нуждам XXI века, так что Pascal и Ко будет использоваться всё реже и реже, пока не останется только в справочниках, да воспоминаниях.

Постепенно переходим к «мэйнстриму». Начнём разговор о С и С++. Второй является логичным усовершенствованием первого. На рубеже 90-ых годов Бьярн Страуструп добавил возможность объектно-ориентированного программирования в С. Это было очень серьёзным улучшением, и проект решено было назвать С++ (операция ++ является инкрементом переменной, к которой относится, то есть на русский можно перевести как «следующий после С»). Чем же была заслужена популярность? Дело в том, что только С, являясь высокоуровневым языком программирования, позволяет разработчику обращаться напрямую к памяти, что позволяет создавать очень эффективные приложения. Так что абсолютное большинство сложных и затратных проектов исполняются исключительно на этих языках. Из минусов можно выделить высокие требования к программисту, т.к. прямая работа с памятью требует большой аккуратности. Ну а добавление классовой организации данных существенно увеличило гибкость разрабатываемых продуктов.

В 1995 году пришла Java. Проект был обречён на популярность. Синтаксис был заимствован из популярного С, так что прост для освоения, а возможности просто потрясали. Главная изюминка – код компилируется для так называемой виртуальной ява-машины (Java Virtual Machine), а не конкретной операционной системы. Разработав эти ява-машины для всех популярных систем, программисты всего мира получили универсальный язык, который будет компилироваться и работать на абсолютном большинстве компьютеров. Но если всё так радужно, то почему не перейти на эту чудесную Java? Ответ достаточно очевиден: такое «двухуровневое» исполнение кода сказывается на производительности и быстродействии, что вынуждает к приобретению мощнейшей и дорогой электроники. Так что для крупных проектов Java не так уж и хороша.

Настало время сказать пару слов и о не столь популярных языках программирования: SmallTalk, Perl, Python, Ruby… Их создатели решили отойти от привычных парадигм, добавить неожиданные новые возможности, смысл и достоинства которых, быть может, сложно определить сразу или придумать им реальное применение. Однако время идёт, и именно из таких проектов пришло немало свежих и оригинальных взглядов на решение задач. Наиболее успешные идеи попадают в свежие версии популярных языков. Подводя итоги, нельзя не заметить: можно сколько угодно говорить об общих достоинствах того или иного языка, можно рассуждать тоньше, продумывая, насколько к решению конкретной задачи подходит С++, а насколько Python, но позвольте провести параллель с живописью. Есть много различных стилей написания картин, даже если не быть знатоком и не знать терминов, направлений… Крупные мазки кисти, пастель, карандашный рисунок… Нельзя сказать, в объективном смысле, «что лучше». Выберите картину, понравившуюся вам, и повесьте на стену.

alt

Схематичное представление развития языков программирования (взято на ru.wikibooks.org).

А на сайте www.levenez.com/lang/ можно найти еще более полную карту (для просмотра не забудьте включить java script).

 
Обсудить на форуме
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
  • 0
 (голосов: 0)
Комментарии (0)  Распечатать
Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии в данной новости.









Электронный журнал ITФормат 2006-2010 ©
Редакция          Реклама у нас
Windows 2012 скидка !
Dr. web
Моментальный обмен WebMoney WMR WMZ WME WMU WMB