ALGOL 60
<language> ALGOrithmic Language 1960.
A portable language for scientific computations.
ALGOL 60 was small and elegant.
It was block-structured, nested,
recursive and free form.
It was also the first language to be described in
BNF.
There were three lexical representations: hardware, reference, and publication.
The only structured data types were arrays, but they were permitted to have lower bounds and could be dynamic.
It also had conditional expressions; it introduced :=; if-then-else; very general "for" loops; switch declaration (an array of statement labels generalising
Fortran's computed goto).
Parameters were
call-by-name and
call-by-value.
It had static local "own" variables. It lacked user-defined types, character manipulation and
standard I/O.
See also
EULER,
ALGOL 58,
ALGOL 68,
Foogol.
["Report on the Algorithmic Language ALGOL 60", Peter Naur ed., CACM 3(5):299-314, May 1960].