ALGOL: Porovnání verzí

Smazaný obsah Přidaný obsah
JAnDbot (diskuse | příspěvky)
m sjednocení pahýlů na jednotnou šablonu {{Pahýl}} dle Wikipedie:Žádost o komentář/Šablony pahýlů
Bez shrnutí editace
Řádek 1:
{{Infobox programming language
'''ALGOL''' je jeden z prvních vyšších [[programovací jazyk|programovacích jazyků]]. Jeho jméno vzniklo z ALGOrithmic Language, tedy jazyk pro zápis [[algoritmus|algoritmů]].
| name = ALGOL
| paradigm = [[procedural programming|procedural]], [[imperative programming|imperative]], [[structured programming|structured]]
| year = 1958
| designer = [[Friedrich L. Bauer|Bauer]], [[Hermann Bottenbruch|Bottenbruch]], [[Heinz Rutishauser|Rutishauser]], [[Klaus Samelson|Samelson]], [[John Backus|Backus]], [[Charles Katz|Katz]], [[Alan Perlis|Perlis]], [[Joseph Henry Wegstein|Wegstein]], [[Peter Naur|Naur]], [[Bernard Vauquois|Vauquois]], [[Adriaan van Wijngaarden|van Wijngaarden]], [[Michael Woodger|Woodger]], [[Julien Green (computer scientist)|Green]], [[John McCarthy (computer scientist)|McCarthy]]
| implementations =
| influenced = Most subsequent imperative languages (so-called ''ALGOL-like'' languages) <br> e.g. [[Simula]], [[C (programming language)|C]], [[Combined Programming Language|CPL]], [[Pascal (programming language)|Pascal]], [[Ada (programming language)|Ada]]
}}
'''ALGOL''' (zkratka pro '''ALGO'''rithmic '''L'''anguage)<ref>The name of the family is sometimes given in mixed case ([http://www.masswerk.at/algol60/report.htm ''Algol 60'']), and sometimes in all uppercase ([http://burks.brighton.ac.uk/burks/language/other/a68rr/rrtoc.htm ''ALGOL 68'']). For simplicity this article uses ''ALGOL''.</ref> patří do skupiny [[Imperativní programování|imperativních]] počítačových [[Programovací jazyk|programovacích jazyků]], původně vyvinutý v polovině 50. let 20. století, který výrazně ovlivnil mnoho ostatních jazyků a byl standartní metodou pro popis [[Algoritmus|algoritmů]], používaný [[Association for Computing Machinery|ACM]] v učebnicích a akademických pracech na dalších více než 30 let.<ref>[http://calgo.acm.org/ ''Collected Algorithms of the ACM''] Compressed archives of the algorithms. [[Association for Computing Machinery|ACM]].</ref>
Ve smyslu, že většina současných jazyků jsou "algol-like" <ref>{{cite web | url=http://www.eecs.qmul.ac.uk/~ohearn/Algol/intro.html | title=Algol-like languages ,Introduction | author1=P. W. O'Hearn | author2=R. D. Tennent | date=September 1996 | accessdate=17 January 2012}}</ref>, byl to pravděpodobně nejuspěšnější ze čtyř soudobých [[Vyšší programovací jazyk|vyšších programovacích jazyků]], [[Fortran]], [[Lisp]] a [[cobol|Cobol]]. Byl navrhnut tak, aby se vyvaroval některým vnímaným problémům ve [[Fortran|Fortranu]] a nakonec pozdvihnul mnoho dalších programovacích jazyků, včetně [[B (programovací jazyk)|jazyka B]], [[Pascal (programovací jazyk)|Pascalu]] a jazyka [[C (programovací jazyk)|C]].
 
ALGOL zavedl do kódu bloky a páry <code>begin</code> and <code>end</code> pro jejich ohraničení a 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-Naur Form]], principy zápisu konstrukce jazyka.
 
Tři hlavní specifikace:
* [[ALGOL 58]] – původně navrhovaný název '''IAL''' ('''I'''nternational '''A'''lgorithmic '''L'''anguage).
* [[ALGOL 60]] – první zavedení jako ''X1 ALGOL 60'' v polovině 1960 – přepracovaný 1963<ref>{{cite book
| title=Report on the Algorithmic Language ALGOL 60
| location=Copenhagen
| month=May|year=1960
| doi=10.1145/367236.367262
| issn=0001-0782
| editor1-first=Peter|editor1-last=Naur
| first1=J. W. |last1=Backus
| first2=F. L. |last2=Bauer
| first3=J. |last3=Green
| first4=C. |last4=Katz
| first5=J. |last5=McCarthy
| first6=A. J. |last6=Perlis
| first7=H. |last7=Rutishauser
| first8=K. |last8=Samelson
| first9=B. |last9=Vauquois
| first10=J. H.|last10=Wegstein
| first11=A. |last11=van Wijngaarden
| first12=M. |last12=Woodger
| unused_data=Ed. P. Naur
}}</ref><ref>{{cite web|title=Revised Report on the Algorithmic Language Algol 60|year=1963|url=http://www.masswerk.at/algol60/report.htm|accessdate=8 June 2007| archiveurl= http://web.archive.org/web/20070625171638/http://www.masswerk.at/algol60/report.htm| archivedate= 25 June 2007 <!--DASHBot-->| deadurl= no}}</ref>
* [[ALGOL 68]] – přepracovaný 1973<ref>{{cite web|title=Revised Report on the Algorithmic Language ALGOL 68|year=1973|url=http://vestein.arb-phys.uni-dortmund.de/~wb/RR/rr.pdf|accessdate=25 August 2010}}</ref> – 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 (programovací jazyk)|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říjat takže obecně "Algolem" myslíme Algol 60 a jeho odvozeniny. Části ALGOLovité (algol-like <ref>{{cite web | url=http://www.eecs.qmul.ac.uk/~ohearn/Algol/intro.html | title=Algol-like languages ,Introduction | author1=P. W. O'Hearn | author2=R. D. Tennent | date=September 1996 | accessdate=17 January 2012}}</ref>) syntaxe jsou občas stále používány jako [[Pseudokód|pseudokód]].
 
==References==
<references/>
 
== Historie ==
Vývoj tohoto jazyka započal v polovině padesátých let minulého století. Algol doznal řadu vývojových změn a implementací, standardy se označovaly obvykle dvoučíselným označením roku: Algol 58 (první verze), Algol 60, Algol 60 Modified, Algol 60 Revised, významné přepracování Algol 68, dále pak Algol68C, Algol 68-R a řada dalších. Nikdy nedosáhl velkého rozšíření, ale byl významnou inspirací pro autory pozdějších jazyků, jako byl [[Pascal (programovací jazyk)|Pascal]] nebo [[Simula 67]]
 
{{Programovací jazyky}}