Историю алгоритмических языков можно прослеживать, начиная с одной из первых попыток создания алгоритмического языка программирования, предпринятой К.Цузе в 1945 г. для электрорелейной ЦВМ "Z-4". Это язык PLANKALKHL, который мог применяться для формализации разнообразных сложных вычислительных процедур.
Первые алгоритмические языки эпохи ЭВМ относятся к середине 50-х годов. Это языки FORNRAN и ALGOL, ориентированные преимущественно на численные расчеты. Джону Бэкусу (J.Backus) принадлежит фундаментальный вклад в создание в 1954 г. языка Фортран (FORTRAN — FORmular TRANslation) и в разработку компилятора для IBM 705 (1958 г.). Коллектив под руководством Бэкуса разработал не только спецификацию языка, но и создал компилятор для него. Кроме того, Фортран был первым языком, для которого были созданы компиляторы для многих ЭВМ. Это обеспечило достаточно быструю и широкую распространенность языка,
Язык Алгол с первоначальным названием IAL и с более поздним ALGOL-58 был разработан в 1958 г. международным комитетом под руководством Питера Наура (P.Naur).
Рис. 1. Дж. Бэкус и П. Наур
Новые версии языков FORTRAN II и ALGOL-60 начала 60-х годов были усовершенствованными вариантами своих предшественников. При описании языка Алгол Д.Бэкус использовал обозначения и средства, которые стали называться нотацией Бэкуса-Наура и синтаксическими диаграммами [16].
Язык Кобол (COBOL – Common Business Oriented Language), представленный в 1960 г., был предназначен для расчетов в сфере бизнеса.
Язык ЛИСП для исследований в области
искусственного интеллекта (LISP — сокращение от LISt Processing — обработка списков), предназначенный для работы со списками и лямбда – выражениями, создан Маккарти в МТИ в 1960 г.
Разработка языка PL/1 относится к 1964 г. Его разработчики из английского отделения IBM стремились в этом языке совместить возможности Алгола и Кобола.
Язык моделирования Simula-67 разработан в Норвегии Найгардом (Nygard) и Далом (Dahl). В нем уже используются многие черты объектно-ориентированного программирования.
Сложность разрабатываемых программ становилась все заметнее. Для преодоления возникающих трудностей требовалась разработка методологии программирования, превращающей стихийное программирование в науку создания программных систем. Заметным вкладом в создание технологий разработки программного обеспечения стала концепция структурного программирования, основанная на положениях блочно-иерархического подхода к программированию. Ее автором является голландский ученый Эдстер Дейкстра (1930-2002), внесший заметный вклад в разработку информационных технологий. Ему принадлежат также определения стека, семафора, разработка ряда алгоритмов (например, поиск кратчайшего пути) и т.п.
Язык программирования Паскаль (Pascal) создан швейцарцем Н.Виртом (Niclaus Wirth) на кафедре информатики Стэнфордского университета на базе структурного программирования. Первая публикация описания языка относится к 1970 г. Особенность языка — его четкая структурированность, ясная логика определений, лаконичность описаний. Популярность язык приобрел после создания Андерсом Хейльсбергом (Anders Hejlsberg) в компании Borland версии Турбо Паскаль, в которой компилятор был объединен с редактором текста. Хейльсберг руководил разработкой среды Delphi, в которой Pascal стал объектно-ориентированным языком Object Pascal.
Язык Си (C) создан в 1972 г. Д.Ритчем (D.Ritchie) и К.Томпсоном (K.Thompson) из Bell Labs/Lucent Technologies при поддержке Б.Кернигана. Ими же в 1973 г. на языке Си представлена операционная система UNIX. В рекламных целях UNIX в университетах распространялся почти бесплатно, вместе с UNIX распространялся и Си. Благодаря эффективности исполнения программ, написанных на этом языке, он получил широкое распространение. До сих пор Си – один из лучших языков для системного программирования. Он стандартизован в 1989 г., стандартная версия языка обозначается ANSI C.
Рис. 4. Д.Ритчи и К.Томпсон
Первый полностью объектно-ориентированный язык программирования SmallTalk создан в 1972 г Он стал самым значительным практическим результатом работы Алана Кея в компании Xerox.
В 1973 г. в Марсельском университете разработан язык логического программирования Пролог, в котором описываются факты и отношения между ними.
Универсальный язык программирования Ада был разработан по заказу министерства обороны США в 1979 г. Список требований к языку прошел через несколько этапов утверждения. Руководителем группы разработчиков был француз Жан Ихбиа.
Вернувшись из Стенфорда в Швейцарию, Н.Вирт развивает методологию программирования. В 1980 г. в языке Модула-2 он реализует концепцию модульного программирования, затем в Оберон-2 – объектно-ориентированное и в Component Pascal – компонентно-ориентированное программирование.
Создание объектно-ориентированного языка С++ относят к 1982 г. Его автором является датчанин Бьерн Страуструп (Bjarne Stroustup), сотрудник лаборатории AT&T Bell Labs, в которой уже были разработаны операционная система UNIX и язык программирования Си, взятый за основу (вместе с идеями объектной ориентированности из языка Симула67) и для Си++. Авторы не предполагали, что язык получит широкое распространение, они создавали его для себя, чем возможно и объясняется некоторая нестрогость его описания (как и языка Си).
Рис. 5. А.Хейльсберг и Б.Страуструп
Язык программирования Java разработан в 1995 г. Джеймсом Гослингом из компании Sun Microsystems.
В последние годы Андерс Хейльсберг, перешедший из Borland в Microsoft, разработал язык C# (Си-шарп) и занимается развитием среды Microsoft.Net Framework.