Никлаус Вирт и языки

    В середине 1960-х годов Международная федерация по обработке информации — IFIP (International Federation for Information Processing) предложила нескольким специалистам в области информатики принять участие в создании нового языка программирования — преемника Алгола-60. Среди них был швейцарский ученый Никлаус Вирт, который преподавал в то время в Станфордском университете. Вирт участвовал в создании проекта языка, названного Алгол-W (по его фамилии — Wirth). И хотя IFIP данный проект отклонила (был принят проект языка Алгол-68), Вирт, возвратившись в Швейцарию, продолжил работу. Он хотел получить инструмент для обучения студентов программированию: в этом смысле Вирта не устраивал не только новый Алгол, но и все “ныне используемые основные языки программирования, свойства и конструкции которых зачастую нельзя объяснить логически и убедительно и которые нередко просто оскорбляют здравый смысл” [1]. Вскоре Никлаус Вирт и его сотрудники из Федерального технического университета в Цюрихе подготовили первую версию языка, получившего название Паскаль [в честь знаменитого француза — математика, физика, философа и писателя Блеза Паскаля (1623—1662), построившего одну из первых механических счетных машин], затем — первый вариант компилятора, а в 1971 году вышло описание языка. В 1974 году появилась новая версия Паскаля, и спустя еще какое-то время было опубликовано руководство для пользователей, которое, по словам Вирта, вполне можно рассматривать как “стандартное определение” языка Паскаль [2].
    Еще подростком Вирт увлекался конструированием радиоуправляемых моделей самолетов, причем позже он получил в Калифорнийском университете степень бакалавра в области электротехники. К разработке языка Вирт подошел так, как подошел бы инженер к конструированию машины. А “искусство инженера, — говорил он, — состоит в том, чтобы делать сложные задачи простыми” [1].
    Язык Паскаль требует от программиста описания всех переменных в отдельном разделе, помещаемом в начале программы. Наличие такого раздела ограничивает свободу программиста. Но одновременно Паскаль требует строгого стиля программирования, который способствует уменьшению количества ошибок. Как и всякий преемник, Паскаль имеет многие черты своего предшественника; например, Паскаль, как и Алгол-60, предусматривает блочную структуру программ (программы составляются из блоков, которые начинаются и оканчиваются словами BEGIN и END соответственно). Структура программы на Паскале позволяет даже специалисту, не являющемуся ее автором, обнаруживать и исправлять допущенные ошибки и вносить изменения. Это делает Паскаль подходящим языком для создания больших программ. В то же время часто говорят, что Паскаль особенно удобен для изучения теории и практики программирования, но не для реальных применений (и ничего удивительного здесь нет: основная цель, которую преследовал Вирт, создавая Паскаль, — разработать язык всего лишь для обучения программированию).
    Успех Паскаля превзошел все ожидания [1, 3, 4]. Возможно, главной причиной популярности этого языка было то, что он способствовал развитию зарождающегося тогда движения за так называемое структурное программирование, которое потом очень быстро обрело силу.
    Паскаль стал прародителем нескольких языков программирования [1, 2, 5]. Примерно через 10 лет после него Вирт создал язык Модула-2 (Modula 2, от MODUlar LAnguage — модульный язык), который основан на многих концепциях, используемых в Паскале, причем наиболее примечательным тут стало введение средств построения больших и сложных программ, которые можно было теперь создавать в виде отдельных самостоятельных модулей, а затем собирать их вместе [1, 6].
    “Можно считать, что история языка Модула-2 начинается в 1980 году, когда Никлаус Вирт, известный боль
шинству специалистов как создатель языка Паскаль, опубликовал описание нового языка программирования, названного им Модула.
    В отличие от Паскаля, который был по замыслу языком для обучения программированию, Модула с самого начала представляла собой язык для профессиональных системных программистов, продолжая лучшие традиции своего предшественника и обогащая их новыми идеями, соответствующими таким современным требованиям к языкам программирования, как структурность, модульность и способность к расширению.
    Как и множество других языков программирования, Модула подверглась эволюции, во время которой ее первоначальное название было переделано в имя Модула-2. Базовым описанием языка считается описание, представленное в третьем издании книги Вирта “Программирование на языке Модула-2”, то есть в [7]. (Его развитием является язык Модула-3, разработанный совместно фирмами DEC и Olivetti, а Вирт создал еще язык Oberon.)
    На Паскаль опирались и все четыре языка, отобранные военным ведомством США в конце 1970-х годов после того, как был объявлен конкурс, в результате которого появился универсальный язык высокого уровня, получивший в дальнейшем название “Ада” (в честь первого программиста — Августы Ады Лавлейс). Следует также отметить, что среди расширений и диалектов Паскаля особую популярность получило семейство систем программирования фирмы Borland для персональных компьютеров, получившее название “Турбо Паскаль”.

    Литература
  
1. Язык компьютера: Пер. с англ. М.: Мир, 1989.
    2. Малыхина М.П., Частиков А.П. Языки программирования: Паскаль // Новое в жизни, науке, технике. Сер. “Вычислительная техника и ее применение”, № 6/90.
    3. Язык Паскаль // Информатика, № 34/ 2000.
    4. Преемник Алгола // Информатика, № 41/2001.
    5. Пройдаков Э.М., Теплицкий Л.А. Англо-русский толковый словарь по вычислительной технике, Интернету и программированию. Изд. 2-е, испр. и доп. М.: Издательско-торговый дом “Русская редакция”, 2000.
    6. Белецкий Я. ТопСпид: Расширенная версия языка Модула-2 для персональных компьютеров IBM: Пер. с польского. М.: Машиностроение, 1993.
    7. Wirth, N. Programming in Modula 2. Third edition. Springer Verlag, Berlin, 1985.

Hosted by uCoz