Создание языка Ада
было реакцией на кризис середины 70-х годов, ощутимый для политики в
области разработки ПО в Министерстве Обороны США (DoD). В отчёте,
предшествовавшем появлению языка Ада,
отмечалось, что в военной отрасли в тот момент использовалось более 450
языков программирования, многие из которых технически устарели. Все это
мешало управлению подрядными работами, обучению программистов,
техническому прогрессу, разработке качественного ПО и контролю цен.
Помня об успехе языка COBOL, разработанного в 50-х годах по запросу
DoD, был объявлен конкурс на разработку современного языка создания ПО.
Отметим наиболее важные общие требования:
- язык разрабатывается для программирования встроенных систем
и поэтому не должен обладать излишней общностью или возможностями,
выходящими за рамки этой области - язык должен обеспечивать проектирование, разработку и
сопровождение надёжного ПО большого и сверхбольшого объёма, которое
эксплуатируется длительное время и подвержено постоянным изменениям - язык должен быть хорошо определённым,
непротиворечивым, машинно-независимым, что облегчает согласованность
различных реализаций - язык не должен вызывать замедление выполнения
объективных программ за счет имеющихся, но не применяемых в данной
программе средств -
язык должен быть спроектирован так, чтобы служить хорошей основой для создания вокруг него инструментального окружения
-
язык должен быть примером эффективного практического применения последних достижений в области программирования
-
текст программы на этом языке должен быть удобочитаемым, легкость же его написания не относится к первостепенным факторам
Рабочая группа сформулировала также специальные требования, связанные с областью применения встроенных систем:
- язык должен обеспечивать возможность работы с широким
набором специализированных нестандартных устройств ввода-вывода,
окончательные характеристики которых неизвестны на момент
проектирования - язык должен обеспечивать разработку ПО, устойчивого к
исключительным ситуациям и ошибкам, иначе говоря, появление исключений
не должно сопровождаться аварийным завершением программы - в языке должны быть предусмотрены средства
взаимодействия с таймером для обеспечения реакции программы на внешние
условия в течение жёстко определённого интервала времени -
язык должен обеспечивать получение эффективных исполняемых программ
В результате были отобраны четыре, затем — два, и, наконец, в 1979
году, после действительно справедливого отбора, победителем оказался
язык Green,
созданный Жаном Ичбиа (Jean D. Ichbiah) и его группой CII-Honeywell
Bull. На основе опыта нескольких лет и первых промышленных реализаций
язык был пересмотрен и в 1983 году был принят как стандарт ANSI.
Что примечательно, все четыре языка, дошедшие до последних этапов конкурса, были основаны на языке Паскаль.
Язык Ада (так был назван язык Green,
в честь Августы Ады Байрон, графини Лавлейс, дочери английского поэта
лорда Байрона. Она была сотрудницей Чарльза Беббиджа, изобретателя
аналитической машины, и написала для этой машины программу вычисления
чисел Бернулли — Августа Ада по праву считается первым в мире
программистом) начал новый этап в разработке языков. Никогда раньше
язык не подвергался такому интенсивному испытанию перед выпуском.
Никогда раньше создание языка не трактовалось как крупномасштабный
инженерный проект. Лучшие эксперты многих стран в составе рабочих групп
проводили недели, рассматривая предложения и делая — в те
доинтернетовские дни — большое количество комментариев. Подобно языку Algol 60 в предыдущем поколении языков, Ада определила не только языковую перспективу, но и само понятие разработки языка.
В 1983 году язык был официально стандартизован ANSI. Стандарт языка
ANSI/MIL-STD-1815-A-1983 был утверждён 17 февраля 1983 года. МО США
сделало наименование «Ada»
зарегистрированной торговой маркой, запретив выпускать трансляторы
языка, не прошедшие официальную процедуру тестирования на соответствие
стандартам. Таким образом была в зародыше подавлена возможность
образования «версий» или «диалектов» языка Ада.
В СССР в начале 80-х годов была образована Рабочая группа по языку программирования Ада
при Государственном комитете по науке и технике. Тщательно собиралась и
анализировалась вся открытая информация о проекте, а усилиями
специальных служб добывалась и закрытая информация. Были организованы
проекты по реализации Ады
для практически всех использовавшихся тогда архитектур ЭВМ, и некоторые
из них оказались весьма успешными. Распад СССР положил конец этой
деятельности. Сегодня Ада используется в России и СНГ отдельными энтузиастами.