01Overview
In 1958 computer scientists from Europe and the US formed a committee to design a universal algorithmic language. ALGOL 58 set out the concepts, and ALGOL 60 delivered a full report: block structure, recursion, lexical scope, pass-by-value and BNF syntax. It was no commercial success, yet every later language was designed against it.
The ALGOL 60 report ran to a dozen pages and was extremely precise. It gave rise to structured programming, compiler theory — parsing above all — and formal semantics. Pascal, C and Ada all inherit its syntactic tradition. And in 1968 Dijkstra’s “goto considered harmful” pushed structured control flow into the mainstream.
02History
- 1958
ALGOL 58
An international committee starts the design.
- 1960
The ALGOL 60 report
BNF, block structure and lexical scope.
- 1968
Dijkstra on goto
A manifesto for structured programming.
- 1970
Pascal
The model teaching language.
03Core concepts
Block structure
Scope and lifetime delimited by begin/end.
Lexical scope
A variable’s visibility follows the nesting of the source text.
BNF
A formal notation describing syntax with productions.
04Hands-on
Do it once — it beats reading it ten times
Write the ALGOL 60 report grammar for a tiny subset in BNF and generate a parser from it
05Self-check
Say it in your own words first, then open the answer. Whatever you cannot explain is what to review next.
Can you explain "Block structure"?
Scope and lifetime delimited by begin/end.
Can you explain "Lexical scope"?
A variable’s visibility follows the nesting of the source text.
Can you explain "BNF"?
A formal notation describing syntax with productions.
What problem did it solve, and why was there nothing better at the time?
Go back to the history section: how was this done before, and what did it cost?
If you had to build it today, how would you break it down?
Use the hands-on task above: write a plan of at most three steps before you start.
06Key people
Peter Naur
1926 – 2016
The ALGOL 60 report and compiler theory.
Edsger Dijkstra
1930 – 2002
Structured programming and shortest paths.
07Further reading
- Revised Report on the Algorithmic Language ALGOL 60
- Notes on Structured Programming