ALGOL: The Best Language You’ve Never Heard Of

Disclosure: Your support helps keep the site running! We earn a referral fee for some of the services we recommend on this page. Learn more

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?”

Adam Michael Wood

About Adam Michael Wood

Adam specializes in developer documentation and tutorials. In addition to his writing here, he has authored engineering guides and other long-form technical manuals. Outside of work, Adam composes and performs liturgical music. He lives with his wife and children in California.

Comments

Thanks for your comment. It will show here once it has been approved.

Your email address will not be published. Required fields are marked *

avatar

Johannes Linkels

July 23, 2019

Thank you for recording this track of computer programming language history. The references you provide are great, and I will take a peek at those resources later.
Algol 60 was the first computer language I learned in 1978. And you are right in your introduction to mention the major languages of that time. Indeed, you could enumerate the languages as there were so few. Each with their own special field of application, like Fortran and Cobol.
I think Algol was specifically suited for academic purposes as it had many constructs for allowing programming constructs for algorithms as they were taught. Function definition in functions, dynamic arrays, scoping and discouraging gotos (which really was a problem at the time!)
Yet, the language lacked a lot of practical useful options, like structures, pointers and complex arithmetic. To say that Algol was at the base of the C language is maybe a bit overstated. They might have shared common ideas. But C was developed from the ground up to make everything possible, Algol (IMHO) focused much more in making everything impossible except for implementing algorithms in a way which was considered the correct way of programming.
Pascal indeed I consider a further development of Algol, which added many of Algol’s shortcomings and had a friendlier syntax as well. But there were many Pascal-likes at the time, only Pascal survived.
Thanks again for posting these wonderful resources.