ALGOL

Iz Wikipedije, proste enciklopedije
ALGOL
Paradigmaproceduralna, imperativna, strukturalna
Začetna izdaja1958
OblikovalFriedrich L. Bauer[d], Hermann Bottenbruch[d], Heinz Rutishauser[d], Klaus Samelson[d], John Backus[d], Charles Katz[d], Alan Perlis[d], Joseph Henry Wegstein[d], Peter Naur[d], Bernard Vauquois[d], Adriaan van Wijngaarden[d], Julien Green[d] in John McCarthy[d]
VpliviFortran
Vplival navečina kasnejših imperativnih jezikov (jeziki podobni ALGOL-u)
npr.: Simula, C, CPL, paskal, Ada

ALGOL (akronim angleške besedne zveze ALGOrithmic Language - algoritemski jezik) je družina imperativnih računalniških programskih jezikov, ki je bila izvirno razvita v sredini 1950-ih, in je v mnogočem vplivala na razvoj drugih jezikov. Več kot tridesetlet je jezik služil kot standardni postopek za opis algoritmov v učbenikih mednarodnega društva ACM in v akademskih delih.[1] V enakem smislu, kot je večina sodobnih jezikov »podobna ALGOL-u«, je bil ALGOL verjetno najuspešnejši od štirih visokonivojskih programskih jezikov, ki so nekako nastali v enakem času: Fortran, Lisp in COBOL.[2] Razvili so ga, da bi se ognili nekateim zaznanim problemom s Fortranom. Pod vplivom razvoja ALGOL-a je nastalo več drugih programskih jezikov, npr.: BCPL, B, CPL, pascal, PL/I, Simula, C in Ada. ALGOL je v kodo uvedel bloke, pare begin/end za razločevanje blokov, prvi pa je tudi rabil vgnezdene definicije funkcij s slovarskim obsegom. Poleg tega je bil prvi programski jezik s posebno pozornostjo na formalno jezikoslovno definicijo. V specifikaciji za ALGOL 60 se je pojavila Backus-Naurova forma, glavni zapis za razvoj kakšnega jezika. Ime družine včasih podajajo z mešanimi črkami (Algol 60), včasih pa samo z velikimi (ALGOL 68 Arhivirano 2010-01-18 na Wayback Machine.). V članku se zaradi preprostosti rabi ALGOL.

Za jezik so razvili tri glavne specifikacije:

  • ALGOL 58 – izvirno predlagana kot IAL (s pomenom International Algorithmic Language - mednarodni algoritemski jezik).
  • ALGOL 60 – najprej izvedena kot X1 ALGOL 60 (sredina 1960-tih) – popravljena 1963[3][4]
  • ALGOL 68 – popravljena 1973[5] – uvedba novih elementov, npr.: prilagodljiva polja, rezine (slices), paralelizem, identifikacija operatorjev in druge razširljivostne značilnosti.

Niklaus Wirth je, preden je razvil paskal, zasnoval svoj ALGOL W na specifikaciji ALGOL 60. Algol-W je bil mišljen kot nova generacija družine ALGOL vendar se je odbor specifikacije ALGOL 68 odločil za konstrukcijo, ki je bila kompleksnejša in razvitejša od prečiščene poenostavljene specifikacija ALGOL 60. Uradno različico ALGOL-a poimenujejo po letu, ko je bila prvič objavljena.

Specifikacija Algol 68 se močno razlikuje od specifikacije Algol 60, vendar je niso dobro sprejeli, in tako v splošnem »Algol« pomeni specifikacijo Algol 60 in njena narečja. Sfecifikacija Algol 68 je veljala celo za samostojni jezik. Dele skladnje podobne ALGOL-u se še vedno rabi kot psevdokoda.

ALGOL je bil v času nastanka priljubljen predvsem v Evropu, Fortran, ki je nastal eno leto prej, pa je bil priljubljen tedaj predvsem v ZDA in Kanadi. IAL je bil zelo vpliven in v splošnem velja za prednika večine sodobnih programskih jezikov s skupnim imenom jeziki podobni ALGOL-u. Poleg tega je bila v računalništvu objektna koda ALGOL-a preprosta in kompaktna, arhitekturo množic ukazov temelječi na skladu se je v glavnem rabila pri poučevanju prevajalniške konstrukcije in drugih visokonivojskih jezikov, od katerih ALGOL v splošnem velja za prvega.

Sklici[uredi | uredi kodo]

  1. Collected Algorithms of the ACM Stisnjeni arhiv algoritmov. ACM.
  2. O'Hearn, P. W.; Tennent, R. D. (september 1996). »Algol-like languages, Introduction« (v angleščini). Arhivirano iz prvotnega spletišča dne 14. novembra 2011. Pridobljeno 17. januarja 2012.{{navedi splet}}: Vzdrževanje CS1: samodejni prevod datuma (povezava)
  3. Gelay, idr. (1960).
  4. »Revised Report on the Algorithmic Language Algol 60« (v angleščini). 1963. Arhivirano iz spletišča dne 25. junija 2007. Pridobljeno 8. junija 2007.
  5. »Revised Report on the Algorithmic Language ALGOL 68« (PDF) (v angleščini). 1973. Pridobljeno 5. avgusta 2010.[mrtva povezava]

Viri[uredi | uredi kodo]

  • Gelay, J. W.; Bauer, F. L.; Green, J.; Katz, C.; McCarthy, J.; Perlis, A. J.; Rutishauser, H.; Samelson, K.; Vauquois, B.; Wegstein, J. H.; van Wijngaarden, A.; Woodger, M. (Maj 1960). Naur, Peter (ur.). Report on the Algorithmic Language ALGOL 60. Copenhagen. doi:10.1145/367236.367262. ISSN 0001-0782.