ALGOL (short for Algorithmic Language) is a family of imperative computer programming languages, originally developed in the mid-1950s, which greatly influenced many other languages and was the standard method for algorithm description used by the ACM in textbooks and academic sources for more than thirty years.
In the sense that the syntax of most modern languages is "Algol-like", it was arguably the most influential of the four high-level programming languages with which it was roughly contemporary: FORTRAN, Lisp, and COBOL. It was designed to avoid some of the perceived problems with FORTRAN and eventually gave rise to many other programming languages, including BCPL, B, Pascal, PL/I, Simula, and C.
ALGOL introduced code blocks and the
end pairs for delimiting them. It was also the first language implementing nested function definitions with lexical scope. Moreover, it was the first programming language which gave detailed attention to formal language definition and through the Algol 60 Report introduced Backus–Naur form, a principal formal grammar notation for language design.
There were three major specifications:
Niklaus Wirth based his own ALGOL W on ALGOL 60 before developing Pascal. Algol-W (for the IBM 360) was based on the proposal for the next generation ALGOL, but the ALGOL 68 committee decided on a design that was more complex and advanced, rather than a cleaned, simplified ALGOL 60. The official ALGOL versions are named after the year they were first published.
Algol 68 is substantially different from Algol 60 and was not well received, so that in general "Algol" means Algol 60 and dialects thereof. Fragments of ALGOL-like syntax are sometimes still used as pseudocode....LESS
endpairs for delimiting them. ALGOL 60 was the first language implementing nested function definitions with lexical scope. It gave rise to many other programming languages, including CPL, Simula, BCPL, B, Pascal and C.