Skip to content
ALB Wiki

Autocode

Autocode

Autocode is both a family of languages and a word that got away from its makers. The original was Alick Glennie's 1952 system for the Manchester Mark 1 — a simple algebraic notation compiled to machine code, written because the Mark 1's machine code was legendarily abstruse (its instruction set was expressed in base-32 teleprinter symbols, with the bits backwards). Glennie's Autocode is considered by some to be the first compiled programming language — a claim that needs the hedging it gets, since "compiled" meant something looser in 1952, but the pedigree is real: it worked, it predates FORTRAN by five years, and its manual promised a loss of efficiency "no more than 10%."[1]

Its honest legacy is also part of the record: Glennie's Autocode saw negligible use even at Manchester — R. A. Brooker's 1958 survey of the Mark 1's programming systems didn't mention it. The language that actually stuck was Brooker's Mark 1 Autocode (1955), a nearly machine-independent language with real floating-point arithmetic that removed the Mark 1 programmer's two daily miseries — manual scaling and managing the two-level store. It was heavily used; it was also limited to one operation per line, few mnemonic names, and no user subroutines.[2]

A Glennie program

Glennie's notation compiled statements like this — a function computing f(t) = √|t| + 5t³ (scaling instructions omitted):

Crude, machine-tied, and unmistakably a program written in a language — the difference between 1952's autocode and the machine code underneath is the difference between √|t| + 5t³ and a pile of teleprinter symbols.[3]

The word became generic — and the family grew a dynasty

"Autocode" escaped: by the 1960s it was British English for any compiled high-level language — COBOL and FORTRAN were both called autocodes. Meanwhile the actual autocode lineage multiplied: Brooker's Mercury Autocode (variables a–z plus a'–z', a language that reads like an ancestor of early Dartmouth BASIC), EDSAC 2 Autocode (David Hartley, 1961, noted for advanced diagnostics), Atlas Autocode — and, most consequentially, the temporary Titan autocode written while Cambridge waited for CPL. CPL was never completed; it gave rise to BCPL, which led to B, which led to C. The autocodes' deepest legacy is thus grammatical: they taught the British school that machines should be programmed in languages, and the family tree of that conviction still compiles today.[4]

Where it sits

Autocode is the missing middle chapter between "high-level languages were proposed" (Short Code, 1950) and "high-level languages won" (FORTRAN, 1957). Glennie built the first working proof at the worst machine to program in Britain; Brooker made it practical; and the name became the era's word for the whole idea.

Check your understanding

  • Who wrote the first autocode, when, and for which machine?
  • What claim attaches to Glennie's Autocode — and what's the honest caveat?
  • What did "autocode" come to mean in the 1960s?
  • Trace the line from autocodes to C.
Show answers

1 — Alick Glennie, 1952, for the Manchester Mark 1. 2 — "the first compiled programming language" — real working system, but the claim depends on what counted as "compiled" in 1952, and it saw little use even at Manchester. 3 — a generic word for any compiled high-level language — COBOL and FORTRAN were both called autocodes. 4 — Mercury/EDSAC/Atlas autocodes → the unfinished CPL → BCPL → B → C.

Footnotes

  1. ↑ Autocode — Glennie 1952, the first-compiler claim, and the 10% figure via Knuth & Pardo's "Early development of programming languages"
  2. ↑ Autocode — Glennie's negligible impact and Brooker's 1955 Mark 1 Autocode via Campbell-Kelly, "Programming the Mark 1," Annals 2(2)
  3. ↑ Autocode — the f(t) example, from Glennie's compiler manual via Knuth & Pardo
  4. ↑ Autocode — the generic usage, Mercury/EDSAC2/Atlas autocodes, and the CPL→BCPL→B→C chain
Categories: History · Languages · Programming
This page was last edited 2026-10-22 13:43:00 UTC by ALB Team. What links here