A portable language for scientific computations often credited with introducing many of the common syntax and structured programming conventions found in most modern programming languages.
ALGOL 58 was also known as the International Algebraic Language.
ALGOL 60 (AlgolSixty
) was block-structured, nested, recursive and free form. These are features which the other language for scientific computations used at this time, Fortran [FortranLanguage
], lacked. ALGOL 60 was also the first language to be described in BackusNaurForm
. It provided CallByValue
semantics, but no support for user-defined types or I/O.
ALGOL 60 was small and elegant (see TonyHoareOnAlgolSixty
), ALGOL 68 was big and complex (and rumored not to be implementable). (Falsely rumoured, it would seem, as there are today two different Open Source implementations available.)
described Algol60 as "the best [only good?] DesignByCommittee
in the history of programming languages."
has a page with more information on Algol (see http://www.wikipedia.org/wiki/Algol_programming_language
If you had access to a Burroughs, you would be a happy AlgolLanguage
programmer. I did learn to program procedural programs in AlgolLanguage
and was quite upset when I was obliged to use BasicLanguage
in my Engineering course. Later, PascalLanguage
was the most similar thing available, but running on MicroComputer
s. This was in 1984, for you that were not born.
There is a quite nice Algol-to-C translator at http://www.gnu.org/software/marst/
Sian Leitch's Linux port of ctrans for Linux, called Algol68toC at http://www.sleitch.nildram.co.uk/algol68.html
Marcen van der Veer's Algol68 Genie (Algol68G) interpreter is at http://www.xs4all.nl/~jmvdveer/algol.html
includes an implementation of Algol 60 as a dialect.
Example of Algol-68 code (implements a Befunge interpreter): http://www.wave.co.nz/~glyn/befunge.a68
An interesting document Google turned up: http://www.cs.ru.nl/~kees/home/papers/psi96.ps.gz
(cached version: http://184.108.40.206/search?q=cache:GyA2XlKzcQIJ:www.cs.ru.nl/~kees/home/papers/psi96.ps.gz+%22willem+louis+van+der+Poel%22&hl=nl
Why did it fail (relative speaking) despite having many of the modern features we've grown to like? Ahead of its time? Too expensive? In some ways it shares a similar fate to SmallTalk
: inspired many ideas and later languages, but failed to catch on by itself. (Lisp almost has this distinction, but remains a very popular "hobby" language.)
In a way it succeeded at its original purpose, as most academic descriptions of algorithms still use pseudocode that looks more like Algol than anything else. Lack of standardized I/O and difficult-to-implement CallByName semantics might lave played a role in its fade from physical use.
is sometimes called the Algol of the LispFamily
. See AlgolFamily