| | | | | | | | | | | | | | | | | | | | | | | | | | Я | з | ы | к | | п | р | о | г | р | а | м | м | и | р | о | в | а | н | и | я | | P | L | / | 1 | | | | | | | | | | | | | | | | | | | | | | | | | | |
19.6.96 | |
В октябре | 1963 | г. представители фирм IBM и SHARP образовали Комитет под |
представительством Б. Розенблата и Дж. Радина по созданию совершенного языка |
программирования. Предполагалось создать такой язык, который сможет |
удовлетворить различные классы пользователей, решающих как научные, так и |
коммерческие (экономические), а также специальные задачи. В результате |
разработки эффективного "единственного" языка программирования ожидалось, что |
отпадет необходимость в таких языках, как ФОРТРАН, КОБОЛ и др. |
Первой попыткой создания универсального языка стала разработка в начале |
60-х годов фирмой System Development языка ДЖОВИАЛ (автор Ж. Шварц и др.). Но |
этот язык, использовавшийся исключительно для военных приложений, не смог |
претендовать на роль универсального. |
Первоначально разработка PL/1 ориентировалась на обеспечение |
соответствующих расширений ФОРТРАНА, он и назывался ФОРТРАН-IV. Скоро стало |
ясно, что совместимость с ФОРТРАНом сохранить не удастся, не удастся также |
достичь целей, определенных для нового языка. |
Одним из аспектов начального этапа разработки языка PL/1 была быстрота, с |
какой предполагалось завершить описание языка - декабрь | 1963 | г. В дальнейшем |
сроки были отодвинуты сначала на январь, а затем на февраль | 1964 | г. Причиной |
такого жесткого графика было стремление приурочить создание PL/1 к выпуску |
семейства совместимых ЭВМ, известных теперь под названием IBM/360. |
Первый официальный документ с описанием нового языка программирования был |
выпущен в марте | 1964 | г. В январе | 1965 | г. П. Рогоуэй и Дж. Радин подготовили |
окончательный отчет Комитета по созданию нового языка. |
Новый язык разработчики нарекли NPL (аббревиатура от слов New Programming |
Language - новый язык программирования). Это название существовало вплоть до |
1965 | г., а затем, по предложению английских пользователей из Национальной |
физической лаборатории, язык стал называться PL/1 (PL/1 - сокращение от |
Programming Language/One - язык программирования/первый). |
Осенью | 1964 | г. в нью-йоркском центре программирования фирмой IBM было |
учреждено правление по контролю над новым языком, которое через два года |
переехало в Херсли (Англия). По мере того как члены правления осуществляли |
свою деятельность, направленную на "очищение" и усовершенствование языка, |
стало очевидно, что ни один из документов по разработке языка, подготовленных |
в | 1964 | г., не мог служить основой, на которую можно было опереться в дальнейшей |
работе. Сотрудники лаборатории из Херсли выполнили немалую работу по |
становлению нового языка. Они неограничились просто его "очищением" и |
расширением. Они взяли, можно сказать, сырой материал и на протяжении двух лет |
занимались его обработкой, оформлением и "облицовкой", в результате чего |
получился хорошо определенный, пригодный к широкому использованию язык |
программирования. |
Характеризуя язык PL/1, его часто сравнивают с известными |
предшественниками, причем говорят, что он сочетает и себе блочную структуру и |
динамическое распределение памяти АЛГОЛа, структуры записей и средства |
ввода-вывода КОБОЛа и арифметические операции ФОРТРАНа, а также располагает |
некоторыми дополнительными средствами: обработкой строк, списков и др. |
Создание языка PL/1 было направлено на более эффективное использование |
компьютерной техники нового поколения: язык PL/1 был первым, с помощью |
которого можно было решать проблемы, возникающие при взаимодействии с |
операционной системой. Он лучше, чем какой-то другой язык, обеспечивал большие |
удобства распределения памяти, управления задачами и обработки исключительных |
ситуаций. Например, пользователь мог инициировать асинхронное выполнение задач |
и управлять процессором решения, основываясь на таких факторах, как временные |
задержки или завершение другой задачи. PL/1 привнес идею родовых функций, что |
означает использование одного имени функции для различных типов входных |
данных. К важной особенности PL/1, относится широко используемая концепция |
условий по умолчанию, которая позволяет пользователям указывать не все |
атрибуты данных, функций и операторов, хотя со временем некоторые специалисты |
стали рассматривать эту особенность как слабость языка. |
Другой особенностью языка было то, что пользователь мог работать только с |
теми его средствами, которые нужны для решения задачи. При этом пользователь |
может и не знать все средства языка. |
PL/1 стал первым универсальным языком программирования (точнее,первый, |
претендующий на такое название). Как и всякий новый язык, он не избежал |
болезней становления. Хотя первый компилятор с языка был создан в | 1965 | г., до |
1967 | г. не было "приличной" версии компилятора, которую можно было бы широко |
использовать. И только в начале | 1968 | г., когда сотрудниками фирмы IBM был |
разработан улучшенный вариант компилятора, стали очевидны достоинства нового |
языка. Первоначально планы реализации PL/1 на компьютерах семейств IBM/360 |
предусматривали создание семейства компиляторов, но их появилось только два: |
PL/1 F и PL/1 D. В дальнейшем компиляторы с PL/1 были разработаны для ряда |
вычислительных систем, выпускаемых фирмами Burroughs, Control Data, Honeywell |
и др. В нашей стране язык PL/1 был успешно реализован на вычислительных |
машинах серии EC ЭВМ. |
С марта | 1968 | г. и до середины 70-х годов фирма IBM опубликовала ряд |
документов по усовершенствованию языка PL/1 с целью его стандартизации (версии |
0, 1, 2 и ООК). |
В тоже время в процесс развития языка включились Комитеты ANSI и ESMA |
(Европейская ассоциация изготовителей машин), опубликовавшие в феврале | 1975 | г. |
проект стандартного языка PL/1, который был принят в октябре | 1976 | г. |
Наряду с полуформальным определением языка, осуществленным сотрудниками IBM |
в Херсли, основательную работу по формальному его определению проделали |
сотрудники венских лабораторий той же фирмы. С помощью предложенного ими |
метода формального определения языков программирования впервые был описан |
такой сложный язык высокого уровня, как PL/1. В основе метода ВЯО (Венского |
Языка Определений) лежат работы Маккарти, Элгота, Лэндина. Первая версия |
формального определения языка появилась в | 1966 | г., вторая - в | 1968 | . |
После своего "выхода в свет" PL/1 был определен некоторыми специалистами |
как важнейший язык 70-х годов. Однако вскоре стало очевидным, что он не в |
состоянии "бороться" с КОБОЛом и ФОРТРАНом, а затем, в конце 70-х годов, |
уступил место | БЕЙСИКу | и | ПАСКАЛЮ | . |
Одна из причин неоправданных надежд на широкое применение PL/1, как |
отмечает Г. Хеллс, объясняется его сложностью (многие реализации языка |
содержат 200 ключевых слов). Сложность привела к низкой читабельности и |
затруднила автоматическую проверку программ. Другая причина: язык PL/1 |
появился после того, как | ФОРТРАН | , КОБОЛ, | АЛГОЛ | тоже повсеместно были признаны, |
и многие пользователи, программирующие на этих языках, не нуждались в |
оригинальных возможностях PL/1. |
И все же всплеск активности PL/1 был отмечен в годы широкого использования |
компьютеров IBM/360 и IBM/370, а также совместимых серий машин, созданных в |
других странах. Кроме того, история языка PL/1 получила свое продолжение. |
В | 1966 | г. для существовавшего языка для обработки формул ФОРМАК (FORMAC) на |
основе PL/1 была выпущена версия под названием PL/1-ФОР-МАК,которая не без |
успеха использовалась на ЭВМ третьего поколения до начала 80-х годов. |
В начале 70-х годов появились первые микропроцессоры. В | 1972 | г. компанией |
MAA (Microcomputers Applications Associates) был разработан язык PL/М (PL/M - |
Programming Language for Microcomputers - язык программирования для |
микрокомпьютеров) как язык системного программирования для 8-разрядных |
микропроцессоров фирмы INTEL. PL/М берет свое начало от языка написания |
компилятора ХPL, который, в свою очередь, происходит от полного языка PL/1. |
Консультант фирмы Г. Килдалл написал первый компилятор с языка PL/М. В | 1974 | г. |
он же разработал первую версию операционной системы СР/М (Control Program for |
Microcomputers - управляющая программа для микрокомпьютеров), на которую |
опирался резидентный компилятор PL/М. Язык PL/М стал инструментальным языком |
фирмы INTEL и сыграл большую роль в отказе от применения языков ассемблерного |
типа. В дальнейшем многие ведущие фирмы - производители микропроцессорной |
техники - создали свои варианты языка PL/М. К настоящему времени разработано |
несколько таких версий: PL/3, PL/65, PL/М-80, PL/М-86, PL/М-286. Некоторые из |
этих версий реализованы на отечественных микро-ЭВМ семейства СМ1800. |