ALGOL

ALGOL (z ang. ALGOrithmic Language) – język programowania, który odegrał ważną rolę w historii informatyki. Wpłynął istotnie na kształtowanie się innych języków, w tym Pascala. Od momentu powstania przez około 20 lat ALGOL (lub jego dialekty) był de facto standardem opisu algorytmów w publikacjach naukowych i podręcznikach.

Prace nad Algolem rozpoczęto w drugiej połowie lat 50. XX wieku. Formalną specyfikację języka opublikowano w raporcie ALGOL 58, następnie język rozwinięto w raportach ALGOL 60 i ALGOL 68. Te właśnie wersje zdobyły uznanie informatyków. O ile ALGOL 58 oparty był na FORTRANie 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 innymi Peter Naur i John Backus. Do opisu języka wykorzystano stworzoną przez Backusa podczas projektowania Fortranu notację BNF, zmodyfikowaną przez Naura. Raport o Algolu 60 opublikowano w maju 1960, poprawiono go w 1962. Na podstawie języka ALGOL 60 Niklaus Wirth stworzył Algol-W, który posłużył mu następnie do zdefiniowania Pascala.

W Algolu 60 wprowadzono:

  • instrukcje blokowe, pozwalające na grupowanie instrukcji w bloki
  • przekazywanie parametrów do procedur 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 konkretnym implementacjom, 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ł rozwojem Cobola i PL/I).

ALGOL 68 był rozwinięciem idei Algolu 60, wprowadzono w nim wreszcie operacje wejścia/wyjścia. Ścisłe określenie języka posunięto jednak do granic: opublikowany w styczniu 1969 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.

Polskie translatory ALGOL 60

Do nielicznych udanych i pełnych realizacji maszynowych języka ALGOL 60 zalicza się polską implementację oznaczaną jako ALGOL 1204 dla maszyny Odra 1204 (Jan Jerzy Szczepkowicz, Krystyna Jerzykiewicz)[1].

W Polsce została ustanowiona 23 grudnia 1975 r. przez Polski Komitet Normalizacji i Miar norma PN-75/T-42110 Język Programowania ALGOL 60. Norma była przeznaczona do stosowania przy określaniu konkretnych reprezentacji i wersji realizacyjnych (implementacji) języka dla konkretnych maszyn cyfrowych, dopuszczając pewne niewielkie odstępstwa realizacyjne. Zalecenia normy wzorowane były ISO R 1538 Programing Language ALGOL.

Zobacz też

Przypisy

  1. Krystyna Jerzykiewicz, Jan J. Szczepkowicz, ALGOL 1204. System programowania maszyny cyfrowej ODRA 1204, PWN, Warszawa 1971.

Bibliografia

  • 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 dla szkół 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, opracowanie Polskiej Normy: Jowita Koncewicz, Maria Łącka, Instytut Maszyn Matematycznych w Warszawie.

Linki zewnętrzne