Algol (język programowania)
Z Wikipedii
Algol – (z ang. Algorithmic Language), język programowania, który odegrał ważną rolę w historii informatyki. Wpłynąl 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. Brak było przekazywania parametrów przez zmienną (lub referencję). 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.
[edytuj] Polskie kompilatory ALGOL 60
- dla ZAM-41 - kod wynikowy częściowo interpretowany, znacznie wolniejszy od kodu wynikowego SAKO i mniej wygodny. Wśród użytkowników zdecydowanie mniej popularny od SAKO.
- dla Odra 1204 - opracowany przez zespół prof. Stefana Paszkowskiego z Uniwersytetu Wrocławskiego. Doskonały, wzorowany na języku Gier Algol. Wyparł MOST.
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.
[edytuj] 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
- Janna 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. Wrpowadzenie 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
[edytuj] Linki zewnętrzne
|
|||||||||||||||||||||||||||||
| Sportowiec Roku: kto w półfinale? Kubica czy Włoszczowska? |
|
Maja Włoszczowska pokonała Tomasza Adamka i jako ostatnia awansowała do ćwierćfinału Plebiscytu na Sportowca Roku 2008. Teraz, w pierwszym pojedynku 1/4 finału, zadanie przed jej fanami jest dużo trudniejsze. Przeciwnikiem naszej srebrnej medalistki IO z Pekinu będzie faworyt plebiscytu po jego pierwszej faziue, Robert Kubica. Kto z tej dwójki awansuje do półfinału? Kubica czy Włoszczowska? Głosowanie trwa przez cały piątek..
|
| Rajd Dakar: lider wykluczony |
|
Prowadzący w rywalizacji kierowców samochodów po sześciu etapach 30. edycji Rajdu Dakar Katarczyk Nasser Al-Attiyah został wykluczony z imprezy.
|
| Puchar Hiszpanii: Mallorca bliższa awansu |
|
W czwartkowych spotkaniu 1/8 Pucharu Hiszpanii Mallorca wygrała z UD Almeirą 3:1 (1:1) i jest bliżej awansu do ćwierćfinału rozgrywek.
|
| Pierwsze sukcesy Lukas Motorsport w Dubaju |
|
Bardzo udanie dla zespołu Lukas Motorsport rozpoczęły się zmagania na Autodrome Dubai. Piątkowe treningi wolne oraz kwalifikacje polski zespół w składzie: Robert Lukas, Mariusz Miękoś, Adam Kornacki, Stefan Biliński oraz Teodor Myszkowski kończył w pierwszej szóstce, potwierdzając tym samym dobre przygotowanie do tego startu.
|
| Barcelona szykuje się do wielkich zakupów |
|
Dwóch piłkarzy Arsenalu Londyn Robin van Persie oraz Cesc Fabregas mogą przenieść się latem do Barcelony. "Duma Katalonii" za obu zawodników musiałaby jednak wydać "jedyne" 50 mln euro odstępnego - donosi brytyjski dziennik "Daily Star".
|