Язык программирования PL/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.          


HyperText/CGI-HTML, v. 3.6.4 (C)1994-2000 M.Zakharov