Paradigms | Multi-paradigm: concurrent, imperative |
---|---|
Family | ALGOL |
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 |
Scope | Lexical |
Major implementations | |
ALGOL 68C, Algol 68 Genie (recent), ALGOL 68-R, ALGOL 68RS, ALGOL 68S, FLACC, Алгол 68 Ленинград/Leningrad Unit, Odra ALGOL 68 | |
Dialects | |
ALGOL 68/FR (Final Reportr0) | |
Influenced by | |
ALGOL 60, ALGOL Y | |
Influenced | |
C,[3][5] C++,[6] Bourne shell, KornShell, Bash, Steelman, Ada, Python,[7] Seed7, Mary, S3 |
ALGOL 68 (short for Algorithmic Language 1968) is an imperative 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 complexity of the language's definition, which runs to several hundred pages filled with non-standard terminology, made compiler implementation difficult and it was said it had "no implementations and no users". This was only partly true; ALGOL 68 did find use in several niche markets, notably in the United Kingdom where it was popular on International Computers Limited (ICL) machines, and in teaching roles. Outside these fields, use was relatively limited.
Nevertheless, 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. Many languages were developed specifically as a response to the perceived complexity of the language, the most notable being Pascal, or were reimplementations for specific roles, like Ada.
Many languages of the 1970s trace their design specifically to ALGOL 68, selecting some features while abandoning others that were considered too complex or out-of-scope for given roles. Among these is the language C, which was directly influenced by ALGOL 68, especially by its strong typing and structures. Most modern languages trace at least some of their syntax to either C or Pascal, and thus directly or indirectly to ALGOL 68.
Wijngaarden_1976
was invoked but never defined (see the help page).a68-c1
was invoked but never defined (see the help page).a68-c2
was invoked but never defined (see the help page).