ALGOL (zang.ALGOrithmicLanguage) –język programowania, który odegrał ważną rolę whistorii informatyki. Wpłynął istotnie na kształtowanie się innych języków, w tymPascala. Od momentu powstania przez około 20 lat ALGOL (lub jego dialekty) był de facto standardem opisualgorytmów w publikacjach naukowych i podręcznikach.
Prace nad Algolem rozpoczęto w drugiej połowielat 50. XX wieku. Formalną specyfikację języka opublikowano w raporcieALGOL 58, następnie język rozwinięto w raportachALGOL 60 iALGOL 68. Te właśnie wersje zdobyły uznanie informatyków. O ile ALGOL 58 oparty był naFORTRANie i brakowało w nim wielu niezbędnych dla programisty konstrukcji, ALGOL 60 stanowił przełom w dziedzinie języków programowania.
ALGOL 60 był pierwszym językiem zaprojektowanym we współpracy międzynarodowej – w pracach nad nim uczestniczyli między innymiPeter Naur iJohn Backus. Do opisu języka wykorzystano stworzoną przez Backusa podczas projektowania Fortranunotację BNF, zmodyfikowaną przez Naura. Raport o Algolu 60 opublikowano w maju1960, poprawiono go w1962. Na podstawie języka ALGOL 60Niklaus Wirth stworzyłAlgol-W, który posłużył mu następnie do zdefiniowaniaPascala.
W Algolu 60 wprowadzono:
- instrukcje blokowe, pozwalające na grupowanie instrukcji w bloki
- przekazywanie parametrów doprocedur przez wartość i przez nazwę
- rekurencję – wywoływanie procedur przez siebie
- tablice dynamiczne – ich rozmiar mógł być ustalany w trakcie działania programu.
- słowa kluczowe –symbole użyte jako słowa kluczowe nie mogą być użyte jako identyfikatory w programie
- typy danych definiowane przez użytkownika – użytkownik mógł zdefiniowaćabstrakcyjne typy danych najlepiej pasujące do konkretnego problemu
ALGOL 60 miał również wady, które zdecydowały o tym, że nie odniósł sukcesu przemysłowego. Nie określono w nim żadnych instrukcji wejścia/wyjścia, pozostawiając je konkretnymimplementacjom, które na dodatek były utrudnione przez jego elastyczność i niezależność od sprzętu. Nie uzyskał też wsparcia firm komputerowych (głównie ze strony dominującego na rynku w latach 60.IBM, który zainteresowany był rozwojemCobola iPL/I).
ALGOL 68 był rozwinięciem idei Algolu 60, wprowadzono w nim wreszcieoperacje wejścia/wyjścia. Ścisłe określenie języka posunięto jednak do granic: opublikowany w styczniu1969 roku raport języka był tak formalny, że wielu informatyków uznało go za całkowicie nieczytelny. Mimo to ALGOL 68 był pierwszym z niewielu języków zdefiniowanych w sposób formalny przed implementacją, które odniosły pewien sukces przemysłowy.
Do nielicznych udanych i pełnych realizacji maszynowych języka ALGOL 60 zalicza się polskąimplementację oznaczaną jakoALGOL 1204 dla maszyny Odra 1204 (Jan Jerzy Szczepkowicz, Krystyna Jerzykiewicz)[1].
WPolsce została ustanowiona23 grudnia1975 r. przezPolski Komitet Normalizacji i Miarnorma PN-75/T-42110 Język ProgramowaniaALGOL 60.Norma była przeznaczona do stosowania przy określaniu konkretnych reprezentacji i wersji realizacyjnych (implementacji) języka dla konkretnychmaszyn cyfrowych, dopuszczając pewne niewielkie odstępstwa realizacyjne. Zalecenia normy wzorowane były naISO R 1538 Programing Language ALGOL.
- ↑Krystyna Jerzykiewicz, Jan J. Szczepkowicz,ALGOL 1204. System programowania maszyny cyfrowej ODRA 1204, PWN, Warszawa 1971.
- Stefan Paszkowski,Język ALGOL 60, Państwowe Wydawnictwo Naukowe, Warszawa 1968.
- Jerzy Kucharczyk,Maciej Sysło,Algorytmy optymalizacji w języku ALGOL 60, Państwowe Wydawnictwo Naukowe, Warszawa 1975.
- Joanna Jonkisz, Jan Makuch, Stanisław Starzak,Programowanie w językach Algol 60 i Fortran 1900, Wydawnictwo Politechniki Łódzkiej, Łódź 1982,Skrypty dlaszkół wyższych,Politechnika Łódzka, Ośrodek Elektronicznej Techniki Obliczeniowej.
- Jan Małuszyński, Krzysztof Pisecki,Algol 68. Wprowadzenie do języka Algol 68; A. van Wijngaarden, B.J. Mailloux, J.E.L. Peck, C.H.A. Koster, M. Sintzoff,.H. Lindsey, L.G.L.T. Meertens, R.G. Fisker, w tłumaczeniu Jana Małuszyńskiego i Krzysztofa Piseckiego,Zmieniony raport o języku algorytmicznym Algol 68,Wydawnictwa Naukowo-Techniczne, Warszawa 1980, Seria:Informatyka,ISBN 83-204-0161-5.
- PN-75/T-42110, Język programowania Algol 60, Wydawnictwa Normalizacyjne (Polski Komitet Normalizacyjny), Warszawa 1976, opracowaniePolskiej Normy:Jowita Koncewicz, Maria Łącka, Instytut Maszyn Matematycznych w Warszawie.