Acronym for algorithmic language. The generic name for a family of high-level languages of great significance in the development of computing. In 1958 the Association for Computing Machinery (ACM) in the US and the Gesellschaft für Angewandte Mathematik und Mechanik (GAMM) in Europe set up a joint committee to define an international algorithmic language (IAL). The language that was designed became known as Algol, and was later called Algol 58 to distinguish it from later versions. Algol 58 was not intended to be a viable language, and in 1960 an augmented committee was convened to devise the second iteration, which was published as the language Algol 60. See also Jovial.
Algol 60 was much more popular in Europe than in the US, probably due to the dominance of IBM and Fortran in the North American market. It introduced many new concepts, notably block structure (see block-structured languages), nested scopes, modes of parameter passing to procedures, and the definition of the language introduced the now classic BNF notation for describing syntax. The influence of Algol 60 can be seen in all succeeding languages, and it stands as a milestone in the development of programming languages.
In the years following the publication of the Algol 60 Report, a working group of the International Federation for Information Processing was set up to consider the definition of a successor to Algol 60. There were many dissensions within the group, and eventually a minority report was issued proposing the language Algol 68. Although Algol 68 introduced many novel concepts of great theoretical interest and significance, its specification was very difficult to understand and its practical application was almost nil. One of the most significant effects of the split in the Algol 68 working group is that it led indirectly to the development of Pascal.