Skip to content
ALB Wiki

ALGOL W

This is an old revision of this page — revision 1 (2026-10-22 13:57:02 UTC). It may differ from the current revision.

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.

Footnotes

  1. ↑ ALGOL W — the Wirth/Hoare proposal, the additions, and the committee's choice of the van Wijngaarden design
  2. ↑ ALGOL W — the PL360/Stanford implementation and its debugging/profiling facilities
  3. ↑ ALGOL W — ALGOL W as Pascal's basis, the array-length loss, and the Modula/Oberon descent
Categories: History · Languages · Programming
This page was last edited 2026-10-22 13:57:02 UTC by ALB Team. What links here