ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 16.12.2020

Просмотров: 1027

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

182

сти

 

памяти

 

ЭВМ

 (

всего

 4096 

слов

)  

авторы

 

компилятора

 

решили

упростить

 

задачу

отказавшись

 

от

 

рекурсии

 

и

 

некоторых

 

других

 

труд

-

ных

 

для

 

реализации

 

свойств

 

Алгола

Зато

 

их

 

транслятор

 

ТА

-1, 

вы

-

пущенный

 

уже

 

в

 1962 

году

,  

получился

 

достаточно

 

эффективным

 

и

быстродействующим

он

 

достаточно

 

широко

 

использовался

 

во

 

мно

-

гих

 

организациях

 

в

 

европейской

 

части

 

Союза

.

Второй

 

коллектив

 

дислоцировался

 

в

 

Институте

 

прикладной

математики

 

АН

 

СССР

туда

 

был

 

распределен

 

почти

 

весь

 

первый

выпуск

 

учеников

 

А

.

А

.

Ляпунова

окончивших

 

в

 1954 

году

 

мехмат

МГУ

 

по

 

специальности

 «

Программирование

».  

Под

 

руководством

М

.

Р

.

Шура

-

Буры

 

и

 

Эдуарда

 

Зиновьевича

 

Любимского

 

они

 

решились

на

 

реализацию

 

полной

 

версии

 

Алгола

Весной

 1963 

года

 

компиля

-

тор

 

был

 

готов

он

 

справлялся

 

с

 

самыми

 

сложными

 

примерами

 

ре

-

курсивных

 

алгоритмов

но

 

платой

 

за

 

это

 

были

 

худшее

 

быстродей

-

ствие

 

компилятора

 

и

 

невысокая

 

эффективность

 

кода

.

Третий

 

коллектив

 

сформировался

 

в

 

новосибирском

 

Академго

-

родке

куда

 

в

 1960 

году

 

вслед

 

за

 

А

.

А

.

Ляпуновым

 

переехал

 28-

лет

-

ний

 

А

.

П

.

Ершов

организовавший

 

отдел

 

программирования

 

в

 

Вы

-

числительном

 

центре

 

Сибирского

 

отделения

 

АН

 

СССР

Молодеж

-

ная

 

команда

 

Ершова

 

отважилась

 

на

 

разработку

 

первого

 

в

 

мире

 

оп

-

тимизирующего

 

компилятора

 

с

 

предложенного

 

ими

 

языка

 

Альфа

,

представляющего

 

собой

 

Алгол

 

без

 

рекурсий

но

 

зато

 

расширенный

комплексными

 

чимслами

 

и

 

матричными

 

операциями

Успех

 

этого

масштабного

 

проекта

 

во

 

многом

 

был

 

определен

 

четкой

 

организаци

-

ей

 

труда

 

коллектива

 

программистов

по

-

видимому

это

 

был

 

один

 

из

первых

 

в

 

СССР

 

примеров

 

научного

 

управления

 

разработкой

 

про

-

граммного

 

обеспечения

.  

В

 

результате

 

законченный

 

к

 1965 

году

Альфа

-

транслятор

 

получился

 

весьма

 

удобным

 

и

 

эффективным

он

широко

  

использовался

 

при

 

написании

 

разнообразных

 

программ

 

на

М

-20, 

особенно

 

в

 

сибирских

 

вузах

 

и

 

НИИ

.

В

 

целом

 

в

 

первой

 

половине

 60-

х

 

годов

 

Алгол

-60 

зарекомендо

-

вал

 

себя

 

с

 

положительной

 

стороны

однако

 

скоро

 

начали

 

проявляться

и

 

недостатки

 

языка

.

Во

первых

Алгол

 

задумывался

 

прежде

 

всего

 

как

 

международ

-

ный

 

язык

 

для

 

публикаций

 

алгоритмов

поэтому

 

авторы

 

исключили


background image

183

полная

 

реализация

 

языка

И

 

хотя

 

компиляторы

 

в

 

конце

 

концов

 

были

из

 

эталонного

 

языка

 

все

что

 

связано

 

с

 

конкретной

 

реализацией

в

частности

процедуры

 

ввода

-

вывода

Как

 

выяснилось

 

далее

это

 

было

серьезным

 

стратегическим

 

просчетом

в

 

чисто

 

практическом

 

плане

Алгол

 

уступал

 

Фортрану

имевшему

 

развитой

 

механизм

 

форматов

внешнего

 

обмена

.

Во

-

вторых

набор

 

типов

 

переменных

 

в

 

Алголе

 

был

 

очень

 

огра

-

ничен

целые

вещественные

 

и

 

булевские

 

скаляры

одномерные

 

и

многомерные

 

массивы

Определение

 

новых

 

типов

 

было

 

невозмож

-

но

язык

 

в

 

этом

 

смысле

 

оказался

 

замкнутым

Поскольку

 

на

 

практи

-

ке

 

требовались

 

другие

 

разнообразные

 

типы

 — 

комплексные

 

вели

-

чины

структуры

, — 

то

 

разрабатывались

 

бесчисленные

 

расшире

-

ния

 

Алгола

ориентированные

 

на

 

тот

 

или

 

иной

 

класс

 

задач

.

В

 1962 

году

 

за

 

совершенствование

 

языка

 

взялась

 

Международ

-

ная

 

федерация

 

по

 

обработке

 

информации

 IFIP — International

Federation for Information Processing. 

Она

 

организовала

 

комитет

 

по

Алголу

собрав

 

в

 

нем

 

специалистов

 

с

 

мировыми

 

именами

 — 

К

Хо

-

ара

 

из

 

Оксфорда

  (

Великобритания

); 

Никлауса

 

Вирта

 

из

 

Цюриха

(

Швейцария

), 

ван

 

Вейнгаардена

  (

Нидерланды

и

 

др

Результатом

многолетней

 

работы

 

стал

 

Алгол

-68 (

пересмотренное

 

сообщение

 

было

опубликовано

 

уже

 

в

 1975 

году

).

С

 

точки

 

зрения

 

теории

 

Алгол

-68 

был

 

шедевром

 

точности

 

и

 

строй

-

ности

В

 

нем

 

были

 

формализованы

 

не

 

только

 

синтаксис

но

 

и

 

се

-

мантика

то

 

есть

 

правила

 

толкования

 

конструкций

 

языка

Допуска

-

лось

 

произвольное

 

конструирование

 

новых

 

типов

имелся

 

богатей

-

ший

 

мезанизм

 

форматного

 

вывода

 

и

 

т

д

., 

словом

в

 

языке

 

было

 

все

,

до

 

чего

 

могла

 

додуматься

 

на

 

тот

 

момент

 

фантазия

 

ученых

Однако

ценой

 

этих

 

новшеств

 

была

 

чрезмерная

 

сложность

Перед

 

окончани

-

ем

 

работы

 

среди

 

самих

 

авторов

 

языка

 

даже

 

возник

 

раскол

Некото

-

рые

 

считали

что

 

язык

 

получился

 

слишком

 

громоздким

 

и

 

его

 

нельзя

выпускать

 

в

 

свет

но

 

незначительное

 

большинство

 

настояло

 

на

 

пуб

-

ликации

В

 

итоге

 

описание

 

Алгола

-68, 

написанное

 

в

 

предельно

 

фор

-

мализованном

 

стиле

рядовой

 

программист

 

не

 

мог

 

даже

 

прочитать

.

Еще

 

большие

 

проблемы

 

возникли

 

с

 

разработкой

 

компиляторов

.

Некоторое

 

время

 

вообще

 

было

 

непонятно

возможна

 

ли

 

в

 

принципе


background image

184

созданы

   (

например

в

 

СССР

 

в

 

начале

 80-

х

 

годов

 

коллективом

 

раз

-

работчиков

 

из

 

Ленинградского

 

университета

 

был

 

реализован

 

ком

-

пилятор

 

для

 

ЕС

 

ЭВМ

который

 

успешно

 

использовался

 

в

 

учебном

процессе

), 

время

 

было

 

упущено

практическая

 

значимость

 

Алгола

-

68 

оказалась

 

равной

 

нулю

.

Несмотря

 

на

 

сравнительно

 

небольшой

 

вклад

 

Алгола

 

в

 

практи

-

ческое

 

программирование

 

в

 

мировом

 

масштабе

его

 

влияние

 

на

 

раз

-

витие

 

языков

 

программирования

 

было

 

огромным

Алгол

 

породил

целую

 

плеяду

  «

алголоподобных

» 

языков

некоторые

 

из

 

которых

,

например

, Simula 

и

 Pascal 

пережили

 

своего

 

родителя

.

Pascal

и

 

его

 

потомки

Член

 

комитета

 

по

 

Алголу

-68 

Никлаус

 

Вирт

(Wirth, Niklaus; 

р

. 1934) 

был

 

про

 

тив

 

принятия

 

пе

реусложненного

 

стандарта

Когда

 

с

 

ним

 

не

 

посчи

-

тались

он

 

в

 

знак

 

протеста

  

в

 1971 

году

 

разработал

 

новый

 

алголопо

-

добный

 

язык

простой

 

и

 

ясный

предназначенный

 

прежде

 

всего

 

для

обучения

 

студентов

 

в

 

Федеральном

 

техническом

 

университете

 

в

Швейцарии

В

 

честь

 

изобретателя

 

первой

 

вычислительной

 

маши

-

ны

 

Вирт

 

назвал

 

язык

 

Паскалем

.

Внешний

 

вид

 

программы

 

на

 

базовом

 

Паскале

 

почти

 

неотличим

от

 

алгольного

:

var

i, n: integer;
s: float;
x: array[1..n] of real;

begin

s:=0;
for i:=1 to n do
  s:=s+x[i];
s:=s/n

end.

Второе

 

рождение

 

Паскаль

 

пережил

в

 1984 

году

 

благодаря

 

французу

 

Филип

-

пу

 

Кану

 (Kahn, Philippe), 

перенесшему

его

 

в

 

безбрежный

 

мир

 

персональных

 

ком

-

пьютеров

Кан

 

родился

 

в

 

Париже

учил

-

Никлаус

 

Вирт


background image

185

ся

 

в

 

Цюрихе

где

 

глубоко

 

изу

-

чил

 

теорию

 

языков

 

програм

-

мирования

познакомился

 

с

 

язы

-

ком

 

Паскаль

 

и

 

применил

 

свои

знания

 

на

 

практике

разработав

для

 

него

 

исключительно

 

скоро

-

стной

 

оптимизирующий

 

компи

-

лятор

 Turbo-Pascal. 

Решив

 

зара

-

ботать

 

на

 

поприще

 

программи

-

рования

Кан

 

сел

 

на

 

пароход

 

и

поехал

 

искать

 

счастья

 

в

 

Амери

-

ку

Там

 

в

 

местечке

 

Скоттс

 

Вэл

-

ли

 

недалеко

 

от

 

Сан

-

Хосе

 

в

 

Ка

-

лифорнии

 

он

 

организовал

 

фир

-

му

 Borland International 

и

имея

всего

 20 000 

долларов

развер

-

нул

 

рекламу

 

по

 

продаже

 

ком

-

пилятора

 

по

 

почте

При

 

этом

цена

 

была

 

просто

 

смехотвор

-

ной

 — $49.95, 

в

 

десять

 

раз

ниже

чем

 

у

 

конкурентов

За

 

один

 

месяц

 

было

 

продано

 3 000 

копий

,

а

 

за

 2 

года

 — 300 000 (

банковские

 

служащие

 

даже

 

заподозрили

 

Кана

в

 

почтовом

 

мошенничестве

но

 

были

 

вынуждены

 

извиниться

). 

Так

за

 

одну

 

ночь

 

расцвела

 

фирма

 Borland, 

прославившаяся

 

высококаче

-

ственными

 

разработками

 

технологического

 

программного

 

обеспе

-

чения

 

на

 

Паскале

.

Паскаль

 

оказался

 

идеальным

 

языком

 

для

 

обучения

 

программи

-

рованию

 

и

 

быстро

 

завоевал

 

миллионы

 

поклонников

 

по

 

обе

 

сторо

-

ны

 

океана

став

 

реальным

 

конкурентом

 

Бэйсику

Что

 

касается

 

ис

-

пользования

 

Паскаля

 

для

 

программирования

 

реальных

 

приложений

,

то

 

базовая

 

версия

 

языка

 

этого

 

не

 

позволяла

 — 

в

 

ней

 

не

 

хватало

развитых

 

средств

 

ввода

-

вывода

 

и

 

модульного

 

программирования

.

Сам

 

Вирт

 

был

 

против

 

усложнения

 

учебного

 

языка

для

 

практичес

-

кого

 

программирования

 

крупных

 

систем

 

он

 

предложил

  

расшире

-

ние

 

Паскаля

названное

 

им

 Modula-2. 

Однако

 

фирма

 Borland 

про

-

Филипп

 

Кан

 

кроме

 

програм

-

мирования

 

увлекался

 

еще

игрой

 

на

 

саксофоне


background image

186

должала

 

совершенствовать

 

Паскаль

с

 

каждой

 

новой

 

версией

 

он

становился

 

все

 

мощнее

впитывая

подобно

 

Бэйсику

новые

 

идеи

 

в

программировании

В

 

начале

 90-

х

 

годов

 

в

 

нем

 

появились

 

объекты

,

пришедшие

 

из

 

языков

 Simula 

и

 Smalltalk, 

а

 

в

 

середине

 

десятилетия

фирма

 Borland, 

объединив

 

в

 

одном

 

продукте

 

все

 

достижения

 

своего

времени

в

 

том

 

числе

 

концепцию

 

модульного

 

програмиирования

 

из

Modula-2, 

вышла

 

на

 

рынок

 IBM PC 

с

 

новой

 

визуальной

 

средой

 

про

-

граммирования

 Delphi. 

Этот

 

пакет

 

приобрел

 

очень

 

большую

 

попу

-

лярность

 

среди

 

прикладных

 

программистов

в

 

том

 

числе

 

в

 

России

1

.

Еще

 

одним

 

потомком

 

Паскаля

стал

 

язык

 Ada (

назван

 

в

 

честь

Ады

 

Лавлейс

). 

История

 

его

 

появления

 

такова

В

 1975 

году

 

Мини

-

стерство

 

обороны

 

США

самый

 

крупный

 

потребитель

 

компьютер

-

ных

 

программ

обеспокоенное

 

отсутствием

 

единого

 

порядка

 

и

 

язы

-

ковой

 

несовместимостью

приняло

 

решение

 

разработать

 

стандарт

-

ный

 

язык

 

для

 

программирования

 

сложных

 

и

 

ответственных

 

воен

-

ных

 

приложений

Был

 

объявлен

 

широкий

 

международный

 

конкурс

,

в

 

котором

 

приняли

 

участие

 15 

групп

 

разработчиков

В

 

результате

нескольких

 

туров

 

в

 

мае

 1979 

года

 

выявился

 

победитель

 — 

француз

-

ская

 

фирма

 C.I.I., 

руководитель

 

проекта

 

Жан

 

Ихбиа

 

(Ichbiah, Jean).

Кроме

 

средств

 

параллельного

 

программирования

 

процессов

 

ре

-

ального

 

времени

в

 

нем

 

заложены

 

принципы

 

модульного

 

структу

-

рирования

 

и

 

раздельной

 

компиляции

Проектирование

 

компилято

-

ра

 

для

 

Ады

 

оказалось

 

очень

 

трудоемким

 

делом

к

 

тому

 

же

 

Пентагон

поставил

 

очень

 

жеские

 

условия

 

тестирования

 — 

сквозь

 

компиля

-

тор

 

должно

 

быть

 

прпущено

 

не

 

менее

 2000 

различных

 

задач

В

 1986

году

 

язык

 

Ада

 

стал

 

обязательным

 

для

 

всех

 

военных

 

разработок

 

США

.

Аналогичный

 

стандарт

 

принят

 

в

 

НАТО

.

Суперязык

PL/1

В

 

то

 

время

когда

 

в

 

Европе

 

лучшие

 

теоретики

работали

 

над

 

Алголом

-68, 

призванном

 

заменить

Фортран

 

и

 

Кобол

в

 

Америке

 

разворачивались

события

 

вокруг

 

суперязыка

 PL/1. 

В

 1963 

году

 IBM 

стала

 

готовить

 

к

выпуску

 

систему

 IBM S/360. 

Желая

 

сохранить

 

превосходство

фир

-

ма

 

приступила

 

к

 

грандиозному

 

проекту

 

создания

 

языка

 

для

 

будуще

-

го

 

десятилетия

который

 

бы

 

включал

 

в

 

себя

 

достоинства

 

всех

 

изве

-