Основные языки программирования и хронология их создания
Существует около 8500 языков программирования (данные не преувеличены), однако, несмотря на такое разнообразие, число языков, на которых пишет большинство, с трудом переваливает за десяток. Причин, почему тот или иной язык не стал популярным, ничуть не меньше, чем самих языков. Это и распри между их создателями, и плохо организованный процесс продажи, и появление новых технологий, и просто откровенная "недоработка". Перечислим основные языки программирования в алфавитном порядке.
Ада, АПЛ, Ассемблер, ActionScript. ABAP/4, AutoIt, AWK, BASIC, C, Кобол, C++, C#, Cw, Clarion, Cloiure, ColdFusion, CommonLisp, D, dBase, Delphi, Eiffel, Erlang, F#, Forth, Фортран, Gambas, Go, Groovy, Icon, Java, JavaScript, Limbo, Lua, MATLAB, Obiect Pascal, Obiective-C, OCaml, Oz, Оберон, Parser, Паскаль, Perl, PHP, PowerBASIC, PureBasic, Python, ПЛ/1, Пролог, Ruby, Scala, Scheme, Smalltalk, SQL, PL/SQL, Tcl, Vala, Visual Basic, VB.NET.
Академические: Clean, Curry, Haskell, Лого, ML, Модула-3, РеФал, Симула.
Прочие: Алгол, Алгол 68, Модула-2, Miranda, Hope.
Хронология создания языков программирования представлена в табл. 2.
Хронология создания языков программирования
Язык Год создания Вид Автор география создания Фортран (Fortran) А Джон Бэкус Америка АПЛ (APL) I Джеймс Гослмнг Америка Лисп (LISP) F Джон Маккрти Америка АЛГОЛ-60 (Algol 60) А Питер Наур Международный Кобол (Cobol) А Группа авторов Международный Снобол (Snobol) I Ральф Грисуолд Америка Симула (Simulf) В Кристен Нигаард Европа Бейсик (Basic) A Дион Кемени* Америка ПЛ/1 (PL/1) A Джордж Радин Америка Алгол-68 (Algol 68) A Адван Вайнгартен+ Международной Сетл (SETL) I Джек Шварц Америка Форт (FORTH) A* Чарльз Мур Америка Паскаль* (Pascal) С Николаус Вирт Европа Си (С) С Деннис Ритчи Америка Smalltalk В Алан Кей Америка Пролог (Prolog) E Алан Кольмеро+ Европа Scheme F Гай Стил Америка Icon I Ральф Грисуолд Америка Модула-2 (Modula-2) D Николаус Вирт Европа Ада (Ada) Н Джин Ишбиа Америка Оккам (Occam) С Дэвид Мэй* Европа Си++ Н Бьорн Страутруп Америка Common Lisp F Гай Стил+ Америка Objective С Н* Брэд Кокс Америка Оберон (Oberon) D* Николаус Вирт Европа Модула-3 Н* Билл Калсов* Америка Java Н Джеймс Гослинг Америка Limbo D* Дэнис Ритчи Америка С# Н* Андерс Хейльсбельрг+ Америка
А - процедурное программирование;
В - объектно-ориентированное программирование;
С - структурное программирование;
D - модульное (компонентное) программирование;
Е - логическое программирование;
F - функциональное программирование;
G - параллельное программирование;
Н - смесь парадигм: B + C + D + G;
I - специализированные языки;
* - поддержка системного программирования;
+ - язык программирования создан несколькими авторами.
Конечно, в табл. 2 представлены не все языки высокого уровня. Поэтому кратко перечислим, какие наиболее популярные языки вошли в ту или иную группу.
Процедурные (императивные) языки: Ada (язык общего назначения), Basic (версии начиная с Quick Basic до появления Visual Basic), Си, КОБОЛ, Фортран, Модула-2, Pascal, ПЛ/1, Рапира. Объектно-ориентированные языки: C#, C++, Java, Delphi, Eiffel, Simula, Object Pascal, VB.NET, Visual DataFlex, Perl, PowerBuilder, Python, Scala, Ruby, Smalltalk, Ada, Xbase++, Vala, PHP.
Логические языки: Prolog, Planner, QA-4, Popler, Conniver, QLISP, Mercury, Visual Prolog, Oz , Fril, Ether.
Языки описания сценариев: Perl, Python, REXX, Tcl предназначаются не для написания приложения с нуля, а для комбинирования компонентов, набор которых создается заранее при помощи других языков. Развитие и рост популярности Internet также способствовали распространению языков описания сценариев. Так, среди разработчиков Web-страниц популярен JavaScript.
Все популярные языки можно также разделить на универсальные и специализированные. Универсальные языки используются для решения разных задач. Эти языки позволяют решить любую задачу, хотя трудоемкость решения конкретной задачи в разных языках будет сильно отличаться.
К универсальным языкам можно отнести: Pascal, Basic, C++, Java, Delphi, Borland, C#. Специализированные языки предназначены для решения задач одного, максимум нескольких, видов задач.(например, работы с базами данных, web-программирования или написание скриптов для администрирования операционных систем). Например, к языкам, предназначенным для web-программирования относятся:
а) языки, исполняющиеся на сервере, поддерживающего Web-сайт: РНР, Perl, VBScript;
б) языки, исполняющиеся на браузере клиента: JavaScript, JScript, VBScript, HTML и др. Языки программирования можно классифицировать по типам задач.