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
- ↑ Autocode — Glennie 1952, the first-compiler claim, and the 10% figure via Knuth & Pardo's "Early development of programming languages"
- ↑ Autocode — Glennie's negligible impact and Brooker's 1955 Mark 1 Autocode via Campbell-Kelly, "Programming the Mark 1," Annals 2(2)
- ↑ Autocode — the f(t) example, from Glennie's compiler manual via Knuth & Pardo
- ↑ Autocode — the generic usage, Mercury/EDSAC2/Atlas autocodes, and the CPL→BCPL→B→C chain