Az ALGOL (angolul: ALGOrithmic Language, magyarul kb. algoritmikus nyelv) egy imperatív programozási nyelv, melyet az 1950-es években fejlesztett ki egy európai és amerikai, számítástechnikával foglalkozó tudósokból álló bizottság, többek közt azzal a céllal, hogy kijavítsák a FORTRAN egyes hibáit. Eredetileg IAL-nak nevezték el (International Algorithmic Language), de ezt a rövidítést elvetették. Három fő változata van: az ALGOL 58, az ALGOL 60 és az ALGOL 68, ezek közül az ALGOL 60 a legismertebb. A cikk további részében főként erről lesz szó.

Évtizedeken keresztül az ALGOL-t vagy ennek egy változatát használták algoritmusokkal foglalkozó cikkekben azok leírásához. Több újítása volt a nyelvnek az előtte lévő programnyelvekkel szemben, néhány példa: Három szintaxist határoztak meg Az utasításokat nem kellett külön sorba írni, hanem pontosvessző választotta el őket Blokk-struktúra, ami a későbbi nyelvekben szinte általánossá vált (C, Pascal). Azaz az összetartozó utasításokat begin és end szavak közé tettek Minden blokk új névteret határoz meg Egymásba ágyazott procedúrák Rekurzió (ami azelőtt imperatív nyelvekben nem volt) Név szerinti és érték szerinti paraméterátadás. Ezt a későbbi nyelvekben a cím és érték szerinti paraméterátadás közti különbség váltotta fel. Nyelvtanát a Backus–Naur forma szerint írták le.

Az ALGOL 60 jelentősége abból is látszik, hogy szinte minden utána kitalált programozási nyelvre hatással volt, így a C-re, Pascal-ra, Simula-ra stb. is.

Mivel az ALGOL 60 szabvány nem tartalmazott kiíró utasítást, a szokásos „Helló, világ!” programot a hagyományos értelemben nem lehet megírni. A GNU MARST kiegészítéseivel viszont így nézne ki egy ilyen program:

<nowiki> begin outstring(1, "Helló, világ!"); end </nowiki>

Megjegyzés: A példában egyébként nincsen szükség se a pontosvesszőre, se a begin, end párra, mivel egy utasítást nem szükséges csoportosítani. Ez szemben áll több későbbi programnyelvvel, itt csupán a Pascallal való hasonlatosság szemléltetésére néz ki így.

Források Revised Report on the Algorithmic Language Algol 60 Ez a cikk az angol Wikipedia idevágó cikkéből is tartalmaz információt, további tudnivalókért fordulj a laphoz

Kategória:Programozási nyelvek Kategória:Imperatív programozási nyelvek