ALGOL 68 (short for ALGOrithmic Language 1968) is an imperative computer programming language that was conceived as a successor to the ALGOL 60 programming language, designed with the goal of a much wider scope of application and a more rigorously defined syntax and semantics. Contributions of ALGOL 68 to the field of computer science are deep and wide ranging, although some of them were not publicly identified until they were passed, in one form or another, to one of many subsequently developed programming languages.
ALGOL 68 was defined using a two-level grammar formalism invented by Adriaan van Wijngaarden. Van Wijngaarden grammars use a context-free grammar to generate an infinite set of productions that will recognize a particular ALGOL 68 program; notably, they are able to express the kind of requirements that in many other programming language standards are labelled "semantics" and have to be expressed in ambiguity-prone natural language prose, and then implemented in compilers as ad hoc code attached to the formal language parser.
The main principles of design are completeness and clarity of design, orthogonal design, security, efficiency, the latter by static mode checking, mode-independent parsing, independent compilation and loop optimization.
Critics of ALGOL 68, prominently C. A. R. Hoare, point out that it abandoned the simplicity of ALGOL 60 and became a vehicle for various complex ideas of its designers. The language also did little to make the compiler writer's task easy, in contrast to deliberately simple contemporaries (and competitors) C, S-algol and Pascal.
Though European defence agencies (in Britain Royal Signals and Radar Establishment - RRSE) promoted the use of ALGOL 68 for its expected security advantages, the American side of the NATO alliance decided to develop a different project, the Ada programming language. The use of Ada was made obligatory for defence contracts. Apparently there was no room for two languages of similar application range in the NATO. Perhaps the acceptance of ALGOL 68 on the Russian side, then Soviet Union, was not helpful on this, either.
The ALGOL 68 heritage is acknowledged by Scheme, and by C++.
For a full length treatment of the language, see Programming Algol 68 Made Easy by Dr. Sian Leitch.
Resources
Algol 58
Algol 60
History of Programming Languages
Programming Timeline
http://en.wikipedia.org/wiki/Algol68
|