# Tony Brooker

> 1925–2019 · Computer Scientist
>
> **Recorded contribution:** Autocode — early high-level programming language; Mark 1 Autocode compiler

## How to use this dossier

Read for a causal chain, not a hero story: inherited problem → contribution → mechanism → downstream capability → limit. Then close the page and complete the reconstruction exercise from memory.

## 1. Historical orientation

Tony Brooker (1925–2019) was a British computer scientist who developed programming systems for Manchester computers and later founded computing departments at Essex University. His Mark 1 Autocode, introduced in the 1950s for the Manchester Mark 1/Ferranti Mark 1, let programmers write algebraic expressions and symbolic names that a translator converted into machine instructions. It was an early practically used high-level language, though priority labels vary with definitions of compiler, language, and user community. Brooker also contributed to compiler-compilers and systems that generate a translator from a language description, pushing one level further from hand-coded machine dependence.

## 2. The problem inherited

Programming the Manchester machines in numeric instructions demanded intimate hardware knowledge and made ordinary scientific formulas slow to express, debug, and reuse.

## 3. The central contribution

Brooker created Autocode systems that translated formula-like symbolic programs into executable code and pursued ways to generate language processors from more declarative descriptions.

## 4. Reconstruct the mechanism

1. Tokenize formula-oriented source containing symbolic variables, arithmetic expressions, labels, and control statements.
2. Parse expressions according to precedence and translate them into sequences supported by the target machine's accumulator and storage.
3. Assign memory locations to names, resolve branch labels, and emit machine words plus any required library routines.
4. Report source-level errors and let users revise a compact program instead of directly repairing numeric instruction addresses.

## 5. What changed downstream

- Autocode reduced the expertise and time needed to use early Manchester computers.
- It contributed to the practical case for high-level languages before compiler use became routine.
- Brooker's later compiler-compiler work anticipated parser generators and language-workbench tooling.

## 6. Attribution, limits, and uncertainty

- Autocode was one branch among several early high-level systems, including A-0, Speedcoding, and FORTRAN.
- The label 'first high-level language' changes with whether one requires automatic translation, generality, portability, or operational adoption.
- Early Autocodes remained closely tied to particular machines and did not provide modern portability or safety.

## 7. Reconstruction lab

Define five Autocode-like statements for assignments and conditional jumps. Translate a quadratic-expression program into a one-accumulator instruction set, build the symbol table, and compare the number of source edits required after inserting a new statement in symbolic and absolute-address forms.

## 8. Evidence trail

- [Tony Brooker](https://en.wikipedia.org/wiki/Tony_Brooker) — Wikimedia Foundation
- [Autocode](https://en.wikipedia.org/wiki/Autocode) — Wikimedia Foundation

---

*Research checked 2026-08-09. Dates, roles, and claims about living people are historical snapshots. Linked sources remain the authority; this dossier is original instructional synthesis.*
