
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.
A Course of Algol 60 Programming (PDF) is a tutorial on the language, written by Peter Naur, the editor of the original ALGOL 60 Report (see below)
Informal Introduction to ALGOL 68, Revised Edition (PDF) by Lindsey and Meulen, was originally published in 1977, and is now available for free online
Programming Algol 68 Made Easy (PDF) by Sian Leitch, is another classic book
A Tutorial on Algol 68 (PDF) is a journal article from 1976, providing both an introduction to the language and a glimpse into computing history.
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
Hello World! and Compute the Mean, written in ALGOL for the Unisys (Burroughs) A-series mainframe
99 Bottles of Beer on the Wall, programmed in ALGOL 68 and in ALGOL 60
Sieve of Eratosthenes in ALGOL 60 shows an example program for finding prime numbers in ALGOL.
Historical Resources
Report on the Algorithmic Language ALGOL 60 (PDF) edited by Peter Naur, is the original definition document for the language — a must-read for any ALGOL researcher; the Revised Report (PDF) provides the final, official definition of the language; the Revised Report is also available in a contemporary critical edition with corrected errata (PDF)
Algol68.org is a website dedicated to the language, with plenty of additional resources and material
the History of ALGOL project by the Software Preservation Group includes a trove of ALGOL material, including original papers, compilers, articles, applications, and more.
Books on ALGOL
A Guide to ALGOL Programming (1962) by Daniel McCracken is a book covering ALGOL 60
Programming – ALGOL (1969) by D J Malcolme-Lawes is an early general-audience manual on the language, and includes a historically fascinating introduction to computer technology
Programming and Problem-Solving in Algol 68 (1978) by Andrew JT Colin is an entry-level book which introduces both computer programming in general and ALGOL in particular
An Introduction to Algol 68 Through Problems (2014) by Learner and Powell also introduces computer programming using ALGOL, using a series of practical computing problems
Programming by Case Studies: An Algol Primer (1969) by Chedzoy and Ford is another introduction to programming by way of ALGOL, but with an emphasis on mathematics.
ALGOL and Other Languages
Handbook and Guide for Comparing and Selecting Computer Languages (1990) by James Ogden provides an interesting comparison of the properties, strengths, and weaknesses of Basic, FORTRAN, Pascal, COBOL, PL/1, APL, ALGOL-60, and C
Numerical Methods of Mathematical Optimization (1968) edited by Kunzi et al covers mathematical computing using both FORTRAN and ALGOL
Data Structures of Pascal, ALGOL 68, PL/1 and Ada (1986) by Lewi and Paredaens, covers underlying concepts, not practical programming examples, in the included languages
FORTRAN, PL/I and the Algols (1979) by Brian Meek compares these three important language families
Expert C Programming: Deep C Secrets (1994) by Peter van der Linden includes interesting details about the influence that ALGOL had on the development of C
Algol-like Languages Volume 1 (1996) and Volume 2 (1997) edited by O’Hearn and Tennent is a collection of essays exploring the history of ALGOL and its influence on the development of other programming 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:
Fortran Resources: one of the very first high level languages, still widely used in scientific programming.
COBOL Introduction and Resources: the classic business programming language.
Prolog Resources: Prolog was an early logic programming language.
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?”
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.