ALGOL

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání

ALGOL (zkratka pro ALGOrithmic Language)[1] patří do skupiny imperativních počítačových programovacích jazyků, původně vyvinutý v polovině 50. let 20. století, který výrazně ovlivnil mnoho ostatních a byl standardní metodou pro popis algoritmů, používaný ACM v učebnicích a akademických pracích na dalších více než 30 let.[2] Uvažujeme-li, že většina současných jazyků je „algol-like“,[3] byl Algol pravděpodobně nejúspěšnější ze čtyř soudobých vyšších programovacích jazyků, Fortran, Lisp a Cobol. Byl navrhnut tak, aby se vyvaroval některým vnímaným problémům ve Fortranu a nakonec pozdvihl mnoho dalších programovacích jazyků, včetně jazyka B, Pascalu a jazyka C.

ALGOL zavedl kód v blocích a párování begin a end pro jejich ohraničení, byl také prvním jazykem, který uměl definovat vnořené funkce (nested function) se statickým rozsahem (lexical scope). Kromě toho to byl první programovací jazyk, který přitáhl pozornost k formálnímu definování jazyka a skrze Algol 60 Report zavedl Backus-Naurovu formu, principy zápisu konstrukce jazyka.

Tři hlavní specifikace:

  • ALGOL 58 – původně navrhovaný název IAL (International Algorithmic Language).
  • ALGOL 60 – první zavedení jako X1 ALGOL 60 v polovině 1960 – přepracovaný 1963[4][5]
  • ALGOL 68 – přepracovaný 1973[6] – zavedl nové prvky jako dynamická pole, řezání, paralelismus, identifikaci operátorů a další rozmanité možnosti rozšíření.

Před tím než Niklaus Wirth vyvinul Pascal, založil svůj ALGOL W na ALGOLu 60 . Algol-W měl být novou generací ALGOLu, ale komise pro ALGOL 68 se raději rozhodla pro design, který byl více komplexnější a pokročilejší, než čistý a zjednodušený ALGOL 60. Oficiální názvy verzí ALGOLu jsou odvozené od roku, ve kterém byly prvně publikovány.

Algol 68 je podstatně odlišný od Algolu 60, ale nebyl dobře přijat takže obecně „Algolem“ myslíme Algol 60 a jeho odvozeniny. Části ALGOLovité (algol-like)[7] syntaxe jsou občas stále používány jako pseudokód.

Reference[editovat | editovat zdroj]

  1. The name of the family is sometimes given in mixed case (Algol 60), and sometimes in all uppercase (ALGOL 68). For simplicity this article uses ALGOL.
  2. Collected Algorithms of the ACM Compressed archives of the algorithms. ACM.
  3. Algol-like languages ,Introduction [online]. September 1996, [cit. 2012-01-17]. Dostupné online. (anglicky) 
  4. (May 1960) Report on the Algorithmic Language ALGOL 60. DOI:10.1145/367236.367262. 
  5. Revised Report on the Algorithmic Language Algol 60 [online]. 1963, [cit. 2007-06-08]. Dostupné online. (anglicky) 
  6. Revised Report on the Algorithmic Language ALGOL 68 [online]. 1973, [cit. 2010-08-25]. Dostupné online. (anglicky) 
  7. Algol-like languages, Introduction [online]. September 1996, [cit. 2012-01-17]. Dostupné online. (anglicky)