ALGOL abbreviated as Algorithmic language, is a category of imperative programming languages. ALGOL has greatly influenced a lot of languages, some of them are- Pascal, Simula and C. It has been the standard method for algorithm description used by ACM and academia for more than 30 years.
AlGOL was developed by a committee of European and American computer scientists in the year of 1958. It was decided that ALGOL would have three different syntaxes- reference syntax, publication syntax and implementation syntax. The different syntaxes made it possible to use different keywords for different languages.
Many characteristics of modern-day languages were introduced in ALGOL. The introduction of code blocks, usage of begin-end pairs to delimit them and implementation of nested functions are some of these characteristics.
Modern-day languages owe a lot to ALGOL, not only for the above mentioned points but also as ALGOL influenced the conception and perception of them. John Backus, a computer scientist proposed a grammar description for ALGOL. This was included in the ALGOL 60 report (edited
by Peter Naur). This description language became known as the Backus-Naur form (BNF). This is now the standard way of describing the grammar of a formal language.
ALGOL had three versions- ALGOL 58, ALGOL 60 and ALGOL 68. The international Algebraic language or ALGOL 58 had an immense impact. ALGOL 68, unfortunately, was not very well received. Generally, when ALGOL is mentioned it refers to ALGOL 60. An important thing to note is that ALGOL 60 had no input/output facilities. ALGOL 68, on the other hand, provided an extensive library of input/output facilities.
ALGOL didn’t really make to business programming. It however, did find use in mathematical analyses performed by the finance industry. The biggest issue which prevented its use in commercial applications was the lack of input/output facilities. ALGOL’s largest user base was inacademia. ALGOL was used by academicians to design algorithms and document them. It was also used to teach compiler construction and high order languages.