ALGOL

Wikipediasta
(Ohjattu sivulta ALGOL 58)
Siirry navigaatioon Siirry hakuun
ALGOL
Julkaistu 1958
Vaikuttanut Pascal, CPL, Simula, JOVIAL

ALGOL (lyhenne sanoista ALGOrithmic Language[1]) on ohjelmointikieli, joka kehitettiin 1950-luvulla. Kielen kehitystä johti Carnegie Mellon -yliopiston Alan J. Perlis.[2]

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 1963[3][4]
  • ALGOL 68 – tarkistettu 1973 sisältäen lukuisia laajennusmahdollisuuksia ja muistin käytön ja syntaksin parannusta

Numerot viittaavat versioiden kehittämisvuosiin.[5]

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

Koodiesimerkki (ALGOL 60)

[muokkaa | muokkaa wikitekstiä]
 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
  1. Kirjoitettu sekä isolla alkukirjaimella: Algol 60, että kokonaan isolla, ALGOL 68 (Arkistoitu – Internet Archive)
  2. David Hemmendinger: ALGOL britannica.com. Viitattu 3.9.2019. (englanniksi)
  3. Backus, 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.
  4. http://www.masswerk.at/algol60/report.htm
  5. http://burks.brighton.ac.uk/burks/language/other/a68rr/rrtoc.htm (Arkistoitu – Internet Archive)
  6. C. H. Lindsey: ALGOL 68 Session (PDF) dl.acm.org. Viitattu 5.1.2024. (englanniksi)