ALGOL 68

ALGOL 68
Revised Report on the Algorithmic Language – Algol 68 Edited by: A. van Wijngaarden et al, September 1973[1]
ParadigmsMulti-paradigm: concurrent, imperative
FamilyALGOL
Designed byA. van Wijngaarden, B. J. Mailloux, J. E. L. Peck and C. H. A. Koster, et al.
First appearedFinal Report: 1968 (1968)r0
Stable release
Algol 68/RR / Revised Report: 1973 (1973)r1
Typing disciplinestatic, strong, safe, structural
ScopeLexical
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.

  1. ^ Cite error: The named reference Wijngaarden_1976 was invoked but never defined (see the help page).
  2. ^ Cite error: The named reference a68-c1 was invoked but never defined (see the help page).
  3. ^ Influence on C: types, structures, arrays, pointers and procedures – Dennis Ritchie[2]
  4. ^ Cite error: The named reference a68-c2 was invoked but never defined (see the help page).
  5. ^ Influence on C: union, structure, syntax and long precision – Dennis Ritchie[4]
  6. ^ "A History of C++: 1979−1991" (PDF). March 1993. Page 12, 2nd paragraph: Algol68 [gave] operator overloading(§3.3.3), references (§3.3.4), and the ability to declare variables anywhere in a block (§3.3.1). Retrieved 2008-05-06.
  7. ^ "Interview with Guido van Rossum". July 1998. Archived from the original on 2007-05-01. Retrieved 2007-04-29.

Developed by StudentB