ALGOL

Iz Wikipedije, proste enciklopedije
Skoči na: navigacija, iskanje
ALGOL
Paradigma proceduralna, imperativna, strukturalna
Začetna izdaja 1958
Oblikoval Teopiz, Bottenbruch, Rutishauser, Samelson, Backus, Katz, Perlis, Wegstein, Naur, Vauquois, van Wijngaarden, Woodger, Green, McCarthy
Vplival na več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-tih, 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). 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.

Opombe in 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). Pridobljeno dne 2012-01-17. 
  3. ^ Gelay, idr. (1960).
  4. ^ "Revised Report on the Algorithmic Language Algol 60" (v angleščini). 1963. Arhivirano iz prvotnega spletišča dne 25. junij 2007. Pridobljeno dne 2007-06-08. 
  5. ^ "Revised Report on the Algorithmic Language ALGOL 68" (v angleščini). 1973. Pridobljeno dne 2010-08-05. 

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. (May 1960). Naur, Peter, ur. Report on the Algorithmic Language ALGOL 60. Copenhagen. doi:10.1145/367236.367262. ISSN 0001-0782. 


Glavni programski jeziki (več)

Industrijski: ABAP | Ada | C | C++ | C# | COBOL | Delphi | Fortran | java | JavaScript | Lisp | Objective-C | Perl | PHP | PL/SQL | Python | SAS | sh | SQL | Visual Basic | zbirnik

Akademski: Eiffel | Haskell | Logo | ML | paskal | prolog | Scheme | Smalltalk

Zgodovinski: ALGOL | APL | AWK | BASIC | Clipper | PL/I | Simula