ALGOL W
ALGOL W
ALGOL W is the answer to one of computing history's great "what ifs" — the successor to ALGOL 60 that the committee rejected for being too modest. When the IFIP working group solicited proposals for the next ALGOL, Niklaus Wirth and Tony Hoare submitted a disciplined evolution: keep ALGOL 60's frame, add what was missing — records and references, case statements replacing the awkward switch, a proper while, strings and bit strings, complex numbers, call-by-result parameters — and stop there. At a famously contentious meeting, the committee judged it too little an advance and chose Adriaan van Wijngaarden's vastly more ambitious proposal instead — the design that would consume itself for years and emerge as ALGOL 68.[1]
Wirth published the rejected design anyway — A contribution to the development of ALGOL — and, at Stanford, supervised a first-class implementation for the IBM System/360, written in PL360, his own ALGOL-flavored systems assembly language. The compiler was widely distributed and notably well-instrumented: it carried debugging and execution-profiling facilities that influenced how later compilers were built.[2]
The dialect that became a dynasty
The vindication was total, if slow. ALGOL W's syntax reads today like Pascal — because it essentially is Pascal's working draft: Wirth refined W into Pascal (1970), tightening record handling and, controversially, losing ALGOL W's ability to size arrays at runtime — the most-complained-about omission in early Pascal. Through Pascal came the whole Wirthian line — Modula-2, Oberon — which educated a generation of programmers and built a generation of systems. The committee's "too conservative" loser became the ancestor of the most influential teaching language ever designed; the winner became a cautionary tale about design by ambition. Hoare, who lived both sides, later used his Turing Award lecture to argue the committee had chosen wrongly.[3]
Where it sits
ALGOL W is the small-is-powerful argument written as a language war: the disciplined upgrade versus the committee's grand design. ALGOL 68 produced magnificent theory and few shipping systems; ALGOL W produced Pascal. Between CPL (too big to build) and ALGOL 68 (too big to ship), it marks the third proof in this catalogue that restraint compounds.
Check your understanding
- Who proposed ALGOL W, and what was it a candidate for?
- What three headline features did it add to ALGOL 60?
- What did the committee choose instead — and what did that become?
- What language descended directly from ALGOL W?
Show answers
1 — Wirth and Hoare, as a proposal for the next ALGOL (ALGOL X). 2 — records/references, case (replacing switch), while — plus strings, bit strings, complex numbers, and call-by-result. 3 — van Wijngaarden's more ambitious proposal → ALGOL 68. 4 — Pascal (1970) — and through it Modula-2 and Oberon.