Penguin
Note: You are viewing an old revision of this page. View the current version.

Algol 60

The first ProgrammingLanguage with a context-free grammar (BackusNaurForm was invented to describe it). It was a simple Pascal-like language (actually, the predecessor to Pascal) meant for expressing mathematical algorithms. The uglier language Fortran was already being used for this, and had the support of IBM, so Algol 60 never really took off. Many systems programming extensions of Algol were created in the 60's, notably by Burroughs Corporation, which no longer exists. C now fills that role.

Algol 60 on Linux: The GNU Project's MARST Algol-to-C translator.

Introduced static scoping.

Algol 68

A general purpose successor to Algol 60 designed by a committee over many years. Too many years: history passed it by, and the end result was considered too complex to implement efficiently on computers of the day. Although the few programmers who did get to use it love it.

Introduced augmented assignment (+= -= *= /= etc)

Algol 68 on Linux: J. M. van der Veer's Algol 68 G interpreter.

Gaze in awe at Glyn's Algol68 skillz.

Algol W (1965)

Not extremely widely used, but influential on later languages in its features; Pascal often gets credit for invention of a number of things that actually appeared first in Algol-W or other languages.

Introduced case/switch statement invented by CarHoare? (he says his proudest invention), and no, this is not the same as the primitive Algol-60 goto-switch nor Lisp's cond -- it is characterized by a sequence of non-ordered non-overlapping values/ranges.

Introduced passing parameters by value-result (a.k.a. in-out parameters).

By CarHoare? and NicolasWirth (the "W" in "Algol-W"). See AlgolWCompiler, NicolasWirth.


CategoryImperativeProgrammingLanguages