ЯЗЫК программирования Алгол.                         
21.6.96                                                                       
   Название свое "АЛГОЛ" (ALGOL) получил от сокращения слов ALGOritmic        
Language, что в переводе означает "алгоритмический язык", хотя в начале он    
назывался ИАЛ (IAL - The International Algebraic).                            
   Работы по созданию алгоритмического языка были начаты в 1955-1956 гг. в США
Ассоциацией по вычислительной техники (АСМ) и в Европе немецким Обществом     
прикладной математики и механики (GAMM). В 1958 г. ACM и GAMM подготовили     
совместный предварительный отчет о языке, который получил название АЛГОЛ-58.  
   На конференции в Париже в январе 1960 г. после широкого обсуждения         
представители семи стран - США, ФРГ, Англии, Франции, Дании, Нидерландов, и   
Швейцарии утвердили улучшенную версию языка, названную АЛГОЛ-60. Двумя годами 
позже на конференции в Риме были сформулированы поправки и дополнения к       
описанию языка, но свое название (АЛГОЛ-60) не изменил. Большие заслуги в     
создании и пропаганде АЛГОЛа принадлежат Д. Бэкусу, П. Науру и другим ученым. 
   Авторы языка в одном из первых отчетов указали такие цели его создания.    
Во-первых, новый язык должен быть близок к обычному математическому языку,    
во-вторых, он должен быть удобен для использования описаний алгоритмов,       
в-третьих, язык должен быть механически переводимым на машинные языки. Главным
образом АЛГОЛ предназначался для решения научных и инженерных задач.          
   Какие же отличительные черты характеризуют АЛГОЛ?                          
   1. АЛГОЛ во многих отношениях рассматривается как улучшение такого языка,  
как ФОРТРАН.                                                                  
   2. Как язык программирования он был определен независимо от какой-либо     
машинной реализации.                                                          
   3. Ученые получили удобное средство для описания алгоритмов и обмена ими   
между пользователями.                                                         
   4. При создании АЛГОЛа был продемонстрирован новый стиль языкового         
описания, это первый язык, имеющий строго определенный синтаксис. Идея        
формально-синтаксической системы записей для языков программирования была     
введена Бэкусом в 1959 г. (систему стали называть БНФ - Бэкуса нормальная     
форма).                                                                       
    5. Появление АЛГОЛа привнесло новые идеи в разработку языков              
программирования, наиболее существенные из них относятся к блокам и           
процедурам. АЛГОЛ стал первым языком программирования с блочной структурой.   
АЛГОЛьные программы представляют  собой независимые друг от друга блоки       
операторов. Имена переменных, процедуры, выполняемые и невыполняемые операторы
относятся только к конкретному блоку. Блоки могут быть вложенными друг в      
друга.                                                                        
   АЛГОЛ оказал значительное влияние на последующие развитие языков высокого  
уровня, причем выделяют три направления этого влияния. Первое характеризуется 
расширением языка в области структур и операций (пример - язык СИМУЛА), второе
- большей степенью формализации и обобщения языка и его описания (пример -    
язык АЛГОЛ-68). В третьем - сохранились стиль и размеры описания АЛГОЛа, но   
введены новые концепции, которые еще в большей степени сочетают простоту и    
всеобщность (пример - язык ПАСКАЛЬ). На основе АЛГОЛа были разработаны многие 
диалекты, причем некоторые из них (МАД и ДЖОВИАЛ) в развитии отклонились от   
своего истока и стали независимыми языками.                                   
   В СССР в 1965 г. на базе АЛГОЛ-60 и средств языка КОБОЛ был создан язык    
АЛГЭК, ориентированный преимущественно для программирования экономических     
задач. Компилятор с этого языка в первые реализован на ЭВМ "Минск-22". В      
1964-1966 гг. также на базе АЛГОЛа был разработан язык АЛГЭМ,                 
предусматривающий собой сокращенный вариант АЛГОЛа-60 с введением величин типа
"строчный", строчными выражениями и функциями, составными переменными и       
массивами. Компилятор с языка реализован также на ЭВМ "Минск-22".             
   В 1967 г. группой ГАМС (Группа по Автоматизации программирования для Машин 
Среднего типа), Созданной комиссией многостороннего сотрудничества академий   
наук социалистических стран, на базе АЛГОЛа-60 была разработана версия АЛГАМС.
В дальнейшем эта версия была реализована на ЕС ЭВМ, а в 1976 г. был принят    
стандарт на язык АЛГАМС (ГОСТ 21551-76).                                      
   АЛГОЛ оказал влияние на проектирование архитектуры многих вычислительных   
систем, в частности, серии компьютеров В5000. К сожалению, АЛГОЛ имеет        
несколько слабых мест, и главное из них - бедные средства ввода-вывода.       
   Язык АЛГОЛ-68 разработан в 1968 г. (в переработанном виде - в 1975 г.) с   
развитыми средствами ввода-вывода, но из-за конкуренции с другими языками он  
не получил широкого применения.                                               
   Анализируя пройденный АЛГОЛом путь, необходимо заметить, что, не смотря на 
повсеместное использование языка в европейских странах, в США он не нашел     
широкого распространения. Объясняется это прежде всего коммерческими          
соображениями: пользователи, затратив значительные средства на ФОРТРАНовское  
программное обеспечение (незадолго до появление АЛГОЛа), стали противниками   
каких-либо изменений в своей программистской практике. Этому в немалой степени
также "способствовали" успехи и признание компьютеров фирмы IBM, взрастившей  
ФОРТРАН.                                                                      
   Время неумолимо, и даже в тех странах, где АЛГОЛ в течении многих лет был  
основным языком программирования, в настоящие время в связи с появлением новых
более совершенных языков интерес к нему стал угасать, но прошлые его заслуги  
бесспорны.                                                                    


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