subroutines with parameters
Routines took arguments from tape and returned results the same way — the ancestor of every calling convention since.
§ 02 — Eras · 1952
programs as lists of calls into a library of routines
Left: era context, features, and the 101 hello. Right: 2 deeper 201 lessons, the factorial specimen, and where A-0 lives today — each column scrolls on its own.
Programmers kept rewriting the same routines by hand. Hopper’s A-0 made a program a list of calls into a library of reusable parts.
Barely a language — closer to a linking scheme — and the establishment didn’t believe it counted as programming at all.
101First contact — hello world. 201 — 2 lessons on mechanisms you meet after the factorial specimen: the sharp edges practitioners actually use.
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 A-0 distinctive at scale.
Routines took arguments from tape and returned results the same way — the ancestor of every calling convention since.
Hopper’s team replaced the numeric routine calls with English-like statements, and business computing inherited a language it still argues about.
Hopper’s A-0 treated the machine as a library: programs became sequences of subroutine calls. “Nobody believed that,” she said — they thought computers could only do arithmetic.
| the program is a list of calls
CALL 63 (x, y, result)reconstructed — notation of the era, simplified
A-0’s routine tapes are archive material. Its descendant, though, is on your machine: every build system is Hopper’s library of calls.
Nowhere — but its idea runs your machine daily: package managers, linkers and build systems are all Hopper’s library of calls, matured for seventy years.