Летопись языков Паскаль

Информация - Компьютеры, программирование

Другие материалы по предмету Компьютеры, программирование

го.

Третья попытка реализации в ETH компилятора Паскаля, ставшего впоследствии известным под названием P2, была предпринята учеником Вирта Урсом Амманом; в 1974 г. она завершилась успехом. Благодаря высокому качеству Р2 получил широкое распространение в университетах и компаниях.

UCSD Pascal и начало коммерческого распространения

В 1975 г. профессор Кеннет Боулес, работавший в Университете Калифорнии в Сан-Диего (University of California at San Diego - UCSD), получил из Цюриха P-инструментарий, который вместе с компилятором P2 и был положен в основу UCSD Pascal. В Институте изучения информации калифорнийского университета Боулес вместе со Стефеном Франклином и Альфредом Борком занялись созданием системы программирования и операционной системы на базе Паскаля для микрокомпьютерных архитектур. В UCSD Pascal были внесены изменения как на уровне языка (в плане расширения и использования низкоуровневых вставок кода, в том числе и P-кода), так и на уровне P-машины. Она была переделана. Для эффективности использования Паскаля на разных компьютерах была включена дополнительная возможность генерирования машинного кода для нужной архитектуры сразу после получения P-кода. Весьма значительным усовершенствованием языка в UCSD Pascal стало введение unit-блоков, необходимых для поддержки раздельной компиляции. Впоследствии они были унаследованы в языке Turbo Pascal.

Интересно, что взята эта идея была из спецификаций языка Ада, которые к тому моменту подходили к своему завершению. В то же время сам Вирт из языка Mesa позаимствовал куда более совершенную конструкцию, ввел ее в Модулу-2 и назвал модулем (module). Собственно, она и дала название новому языку Вирта Modula-2 (MODUlar LAnguage).

За три года команда Боулеса разработала законченную систему, в которую вошли текстовый редактор, файловая система, а также отладчик. По сравнению с тем режимом работы, к которому уже привыкли пользователи больших машин (ввод программ и данных с перфолент и перфокарт, а также упрощенный терминальный ввод-вывод), это был огромный шаг вперед. Появился прообраз того, что сегодня называют IDE-средой (интегрированной средой разработки). UCSD Pascal стала прародительницей системы Turbo Pascal, добившейся небывалой популярности.

Что касается UCSD Pascal, то эта реализация для Паскаля означала серьезный прорыв: благодаря Боулесу сфера применения языка значительно расширилась, что, в свою очередь, дало заметный импульс развитию микрокомпьютерной революции.

Разработкой UCSD Pascal, сумевшей стать законченным коммерческим продуктом, заинтересовались многие компании. Причем их внимание привлекла и перспективная P-машина, на которую UCSD продал немало лицензий. В качестве одного из примеров можно привести процессор ITS, созданный в Nippon Electric (1980) и предназначенный для исполнения P-кода UCSD Pascal. Но и сейчас, в эпоху Java, интерес к UCSD-реализации не остыл. Так, в частности, английская компания Cabot International продает новые версии P-машины по лицензии UCSD. Это предлагается в качестве альтернативы для Java в области ТВ-приставок и бытовой электроники (интерактивное цифровое ТВ).

Turbo Pascal

Огромную роль в массовом распространении Паскаля сыграла компания Borland International. На основе идей UCSD Pascal она сумела создать знаменитую Turbo-среду разработки. Это был значительный шаг вперед в облегчении процесса программирования. Удобство визуальных средств в сочетании с тесной интеграцией инструментария стали для сотен тысяч программистов большим подспорьем.

Правда, язык в исполнении Borland теперь уже отдаленно напоминает то, что когда-то носило имя Паскаль. Безжалостные законы рынка раздавили оригинал и родили на свет Turbo-Borland-Object Pascal. В результате не язык стал определять реализацию, а наоборот. Как только все было повернуто с ног на голову, как только деликатные вопросы изменения языка оказались уделом узкого круга лиц внутри одной компании, стало ясно, что рассчитывать на поддержку промышленностью не переносимого на другие платформы языка просто бессмысленно. И это в то время, когда давным-давно существовали новые языки Вирта - Модула-2 и Оберон-2.

Что касается Модулы-2, добившейся утверждения своего ISO-стандарта, то компилятор для этого языка (Turbo Modula-2) не только был создан в компании Borland (для CP/M), что весьма тщательно скрывается, но и поступил в продажу (в Северной Америке и Европе). Однако руководство компании (Филипп Кан) отказалось порождать собственного конкурента крайне успешному Turbo Pascal. Возмущенный вице-президент Borland Нильс Йенсен (один из основателей компании) вместе со своей командой разработчиков в 1987 г. ушел из Borland, выкупил права на Turbo Modula-2 и создал компанию JPI (Jensen & Partners International). В Англии ею под маркой TopSpeed была выпущена одна из лучших линеек компиляторов для процессоров семейства x86: Assembler, Modula-2, Pascal, C/C++, Ada.

А что же Turbo Pascal? Язык видоизменялся едва ли не с каждой версией среды разработки! В версии 3.0 появилась встроенная графика, в версии 4.0 - модули, в версии 5.5 - средства объектно-ориентированного программирования. Начиная с версии 7.0 Turbo Pascal был переименован в Borland Pascal, а с появлением Delphi - в Object Pascal.

В отношении языка Turbo Pascal Никлаус Вирт высказывается довольно дипломатично (1993): Фактический стандарт для Паскаля был определен компанией Borland просто потому, что ими был создан компилятор, который распространялся широко и дешево. Borland расширяла Паскаль на протяжении ряда лет, и некоторые из этих нововведений были не столь хорошо интегрированы в язык, как мне бы того хотелось. Я был менее компромиссным в отношении собственных расширений и потому дал новому проекту иное имя