Otwórz menu główne

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 60Edytuj

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żEdytuj

PrzypisyEdytuj

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

BibliografiaEdytuj

  1. Stefan Paszkowski, Język ALGOL 60, Państwowe Wydawnictwo Naukowe, Warszawa 1968.
  2. Jerzy Kucharczyk, Maciej Sysło, Algorytmy optymalizacji w języku ALGOL 60, Państwowe Wydawnictwo Naukowe, Warszawa 1975.
  3. 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.
  4. 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​.
  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ętrzneEdytuj