|
История
С самого начала работа велась в условиях нехватки времени. Группа приступила к работе в октябре 1963 года, а поскольку срок окончания работ по «Системе-360» был назначен на апрель 1984 года Участники изо всех сил стремились успеть к сроку. Поклонники Фортрана надеялись увидеть свой любимый язык в качестве основы нового языка.
Но комиссия отвергла Фортран: он имел слишком ограниченные возможности, чтобы стать основой универсального языка. Споры по этому вопросу задержали работу на несколько недель. Обычно члены комитета собирались в выходные, как правило, в гостиничных номерах Нью-Йорка или Лос-Анджелеса.
«Временами, — вспоминал потом Рэдин, — самыми активными противниками дела оказывались не защитники Фортрана, а брошенные жены и мужья». Несмотря на административный нажим, спецификации языка были завершены лишь к февралю 1964 года — новый язык явно запаздывал к дебюту «Системы-360». Возможно, это было и к лучшему.
О результате усилий комитета, новом языке программирования, названном PL/1 (РL/1, от Programming Language One — язык программирования, первый), было доложено ассоциации SНАRE в марте.
Некоторые специалисты характеризовали язык как бесформенный, переусложненный и избыточный. Другие сравнивали его со складным ножом со 100 лезвиями, третьи саркастически вопрошали, почему бы проектировщикам не вставить туда еще и кухонную раковину?
Надеясь, что большинство проблем, связанных с новым языком, прояснится в процессе реализации, фирма ИБМ дала задание своей лаборатории в Харсли (Англия) приступить к работе над компилятором.
Сотрудники лаборатории установили, что точное определение этого массивного языка займет не менее 200 страниц. Язык так сильно отредактировали, что разработчики вряд ли узнали бы в получившемся результате свое творение. Уточнения превратили язык в практичный инструмент программирования, который приветствовали многие программисты.
Фирма IBM надеялась, что PL/1 явится кульминацией всего того, что возникло в языках программирования в предыдущие десятилетия. Многие черты Фортрана, Кобола и Алгола действительно нашли отражение в PL/1. Но в то же время критики отмечали, что язык наделен слишком многими качествами, в которых лишь увековечились ошибки прошлого.
По глубокомысленному замечанию Джона Бекуса, первые коммерческие языки оказали отрицательное влияние на развитие PL/1 и последующих языков программирования.
«Поскольку первые языки слишком глубоко проникли в среду программистов, — говорил Бекус, — они до сих пор остаются тупиками на пути к более совершенным языкам и лучшему пониманию самих компьютеров».
Пример
NOD: PROCEDURE (X,Y) DECIMAL FIXED (5,0);
DO WHILE (X^=Y);
IF X>Y THEN X=X-Y;
ELSE Y=Y-X;
END;
RETURN (X);
END NOD;
|
|