Revised Report on the Algorithmic Language - Algol 68 Edited by: A. van Wijngaarden & al, Sep 1973
|
|
Paradigm | multi-paradigm: concurrent, imperative |
---|---|
Designed by | A. van Wijngaarden, B.J. Mailloux, J.E.L. Peck and C.H.A. Koster, et al. |
First appeared | Final Report: 1968r0 |
Stable release |
Algol 68/RR / Revised Report: 1973r1
|
Typing discipline | static, strong, safe, structural |
Major implementations | |
ALGOL 68C, Algol 68 Genie (recent), ALGOL 68-R, ALGOL 68RS, ALGOL 68S, FLACC, , Odra ALGOL 68 | |
Dialects | |
ALGOL 68/FR (Final Reportr0) | |
Influenced by | |
ALGOL 60, ALGOL Y | |
Influenced | |
C,C++,Bourne shell, Bash, Steelman, Ada, Python,Seed7, Mary, S3 |
C,C++,Bourne shell, Bash, Steelman, Ada,
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 more rigorously defined syntax and semantics.
The contributions of ALGOL 68 to the field of computer science have been deep, wide ranging and enduring, although many of these contributions were only publicly identified when they had reappeared in subsequently developed programming languages.
ALGOL 68 features include expression-based syntax, user-declared types and structures/tagged-unions, a reference model of variables and reference parameters, string, array and matrix slicing, and also concurrency.
ALGOL 68 was designed by the IFIP Working Group 2.1. On December 20, 1968, the language was formally adopted by Working Group 2.1 and subsequently approved for publication by the General Assembly of IFIP.
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 aims and principles of design of ALGOL 68:
ALGOL 68 has been criticized, most prominently by some members of its design committee such as C. A. R. Hoare and Edsger Dijkstra, for abandoning the simplicity of ALGOL 60, becoming a vehicle for complex or overly general ideas, and doing little to make the compiler writer's task easier, in contrast to deliberately simple contemporaries (and competitors) such as C, S-algol and Pascal.