ALGOL

ALGOL (lyhenne sanoista ALGOrithmic LanguageKirjoitettu sekä isolla alkukirjaimella: Algol 60, että kokonaan isolla, ALGOL 68 ) on ohjelmointikieli, joka kehitettiin 1950-luvulla. Kielen kehitystä johti Carnegie Mellon -yliopiston Alan J. Perlis.

ALGOL oli aikoinaan ensimmäinen niin sanottu toisen sukupolven ohjelmointikieli. Vaikka ALGOL ei ollut kaupallisesti yhtä käytetty ohjelmointikieli kuin FORTRAN tai COBOL, se vaikutti paljon niitä enemmän myöhempien ohjelmointikielien, erityisesti Pascalin kehitykseen. 

ALGOL-kielestä on olemassa kolme virallista versiota:
 ALGOL 58 – alun perin IAL (International Algorithmic Language)
 ALGOL 60 – toteutettu alun perin nimellä X1 ALGOL 60, tarkistettu 1963Backus, J. W. & Bauer, F. L. & Green, J. & Katz, C. & McCarthy, J. & Perlis, A. J. & Rutishauser, H. & Samelson, K. et al. (May 1960). Naur, Peter. ed. Report on the Algorithmic Language ALGOL 60. Copenhagen.http://www.masswerk.at/algol60/report.htm
 ALGOL 68 – tarkistettu 1973 sisältäen lukuisia laajennusmahdollisuuksia ja muistin käytön ja syntaksin parannusta
Numerot viittaavat versioiden kehittämisvuosiin.http://burks.brighton.ac.uk/burks/language/other/a68rr/rrtoc.htm 

ALGOL 68 sai aikanaan paljon kritiikkiä ja sen kehitys muistetaan riitaisana. Kehitys suuntasi eri tarkoitukseen kuin monet muut tuolloin käytetyt kielet.

 Koodiesimerkki (ALGOL 60) 

 procedure Absmax(a) Size:(n, m) Result:(y) Subscripts:(i, k);
     value n, m; array a; integer n, m, i, k; real y;
 comment The absolute greatest element of the matrix a, of size n by m 
 is transferred to y, and the subscripts of this element to i and k;
 begin integer p, q;
     y := 0; i := k := 1;
     for p:=1 step 1 until n do
     for q:=1 step 1 until m do
         if abs(a[p, q]) > y then
             begin y := abs(a[p, q]);
             i := p; k := q
             end'
 end Absmax

 Lähteet 

Luokka:Proseduraaliset ohjelmointikielet
Luokka:Strukturoidut ohjelmointikielet
Luokka:Tietotekniikan historia