ALGOL

related topics
{math, number, function}
{system, computer, user}
{work, book, publish}
{language, word, form}
{son, year, death}
{country, population, people}
{company, market, business}
{group, member, jewish}

ALGOL (short for ALGOrithmic Language)[1] is a family of imperative computer programming languages originally developed in the mid 1950s which greatly influenced many other languages and became the de facto way algorithms were described in textbooks and academic works for almost the next 30 years.[2] 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, Simula, C, and many others. ALGOL introduced code blocks and the begin and end pairs for delimiting them and it was also the first language implementing nested function definitions with lexical scope. Fragments of ALGOL-like syntax are sometimes still used as pseudocode (notations used to describe algorithms for human readers).

There were three major specifications:

  • ALGOL 58 - originally proposed to be called IAL (for International Algorithmic Language).
  • ALGOL 60 - first implemented as X1 ALGOL 60 in mid 1960 - revised 1963[3][4]
  • ALGOL 68 - revised 1973[5] - introduced new elements including flexible arrays, slices, parallelism, operator identification, and various extensibility features.

Niklaus Wirth based his own ALGOL W on ALGOL 60 before developing Pascal. Algol-W was intended to be 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 but was not well received, so that in general "Algol" means Algol 60 and dialects thereof.

Contents

Full article ▸

related documents
Header file
Finite state machine
Integer (computer science)
Befunge
Brute force attack
Sheffer stroke
Pseudorandom number generator
MathML
Character encodings in HTML
Haskell (programming language)
Graph theory
Lexical analysis
Empty set
Polish notation
Selection sort
Binomial theorem
Greatest common divisor
NP (complexity)
Direct product
Tensor
Affine transformation
Net (mathematics)
Knapsack problem
Grover's algorithm
Ordered pair
Unicode and HTML
Fundamental theorem of arithmetic
Partially ordered set
Normal space
Cyclic group