ALGOL: The Best Language You've Never Heard Of

ALGOL is probably the most influential language you've never heard of.

The other important languages from the same era — Fortran, COBOL, Lisp — still get a lot of use (relatively speaking).

ALGOL was important in its own right, especially in academia and mathematics. But its biggest influence has been on the development of other languages. Most languages in use today owe something to ALGOL

Brief History of ALGOL

ALGOL was originally invented in the late 1950s, by a joint committee of American and European computer scientists, meeting in Zurich. Their work was released as the language now known as ALGOL 58.

A second release by the group, known as ALGOL 60, became the standard version of the language is common use.

This version, described in the now-famous ALGOL 60 Report, had a profound impact on the the field of programming language design. ALGOL 68, the last "official" version of the language was not well received by the ALGOL community.

ALGOL never really caught on in business programming, aside from some mathematical analysis applications used by the financial industry.

It was, however, extensively used in academic computer science and math, and was the standard language for algorithmic description well into the 1980s and 90s.

ALGOL's Influence on Other Languages

ALGOL's syntax and structure directly influenced a number of other languages, which have come to be known as "Algol-like" languages.

These languages include Simula, C, Pascal, and Ada. Some of these connections are fairly direct: Pascal, for example, was developed by Niklaus Wirth, who had previously built an ALGOL derivative called ALGOL W.

The most famous member of this group is C, which spawned its own family of derivatives and descendants: C++, C#, Objective-C, and D — to name just a few. The syntax of PHP is also based on C, which means that the most used server-side language on the internet traces its lineage back to ALGOL.

Even more profoundly, ALGOL influenced the way programming languages are conceived of and described.

Computer scientist John Backus proposed a grammar description for ALGOL (PDF), which was used in the ALGOL 60 Report, edited by Peter Naur. This description language became known as Backus-Naur Form (BNF). BNF, and EBNF ("extended"), is now the standard way of describing the grammar of a formal language.

ALGOL Resources

ALGOL is an old, mostly obsolete language, and so it can be very hard to find resources and reliable information on it. Lucky for you, you don't have to. We have scoured the internet to bring you the most important resources for learning about ALGOL.

Historical Tutorials

All the worthwhile tutorials on ALGOL were written a long time ago. Thankfully, the best ones have been scanned and made available online.

Compilers

  • Algol 68 Genie is a modern, cross-platform ALGOL compiler — probably the easiest way to start working with ALGOL on your computer; don't miss Learning Algol 68 Genie (PDF) by Marcel van der Veer, which includes a language tutorial and example programs

  • Execute Algol Online with the in-browser Algol interpreter from Tutorials Point

  • Algol-68 to C is a portable translator/compiler, allowing you to run ALGOL 68 in any environment with a C compiler

  • Z80 ALGOL Compiler with a virtual machine, for running ALGOL on MS-DOS.

Example ALGOL Programs

Historical Resources

Books on ALGOL

ALGOL and Other Languages

Summary

ALGOL is not a language you need to learn to get a job or to be a successful developer. However, it was hugely influential on both the practice and theory of computer programming.

If you're interested in language design or the history of computer science, ALGOL is an important touchstone to be familiar with.


Further Reading and Resources

We have more guides, tutorials, and infographics related to coding and development:

What Code Should You Learn?

Confused about what programming language you should learn to code in? Check out our infographic, What Code Should You Learn? It not only discusses different aspects of the languages, it answers important questions such as, "How much money will I make programming Java for a living?"