← the guideThe Wired Age

§ 02 — Eras · 1952

Autocode

the first working compiler: formulas in, machine code out

Left: era context, features, and the 101 hello. Right: 2 deeper 201 lessons, the factorial specimen, and where Autocode lives today — each column scrolls on its own.

creators
Alick Glennie, 1952 (Manchester Mark 1)
status
museum piece · welded to one machine

The problem it solves

Translation itself was the bottleneck: every formula became hand-written assembly. Autocode proved the machine could do the translating.

The problem it carries

Bound to one machine and nearly no abstraction — a demonstration that something was possible, not a tool that traveled.

Key features

formula translation
Algebraic expressions compiled straight to machine code, with no assembly step in between.
assignment and repetition
Variables and counted loops written directly, in the notation of the paper.
hardware intimacy
It knew one machine — Ferranti Mark 1 — down to the memory map, and traded generality for speed.

101First contact — hello world. 201 — 2 lessons on mechanisms you meet after the factorial specimen: the sharp edges practitioners actually use.

201 — going deeper

The 201 assumes you have read the 101 and the specimen. Each lesson is one mechanism — what it is for, how it looks in code, and the trap or payoff that makes Autocode distinctive at scale.

  1. index variables and floating point
  2. the cost of one machine

index variables and floating point

Glennie’s scheme used index variables to reach into arrays and supported floating point, both firsts for an automatic translation system.

the cost of one machine

The compiler knew the Ferranti Mark 1 intimately, down to its instruction timings — and was useless anywhere else. Generality came decades later.

The specimen — factorial

Glennie’s compiler turned formulas straight into machine code — no human translation step. The argument of the next seventy years, settled in embryo: describe the math; let the machine do the rest.

the compile1952
| formulas in, machine code out
x1 = 2
x2 = x1 + 3

reconstructed — notation of the era, simplified

Run it today

Welded to the Manchester Mark 1 / Ferranti. It survives in emulators and museum demonstrations, not toolchains.

Where it is now

Historical only. Every compiler you have ever run — including the one that built this page — descends from the argument Autocode settled: describe the math, let the machine translate.