


I went to the Science Museum in London last week to see Charles Babbage’s Difference Engine No. 2 – eight thousand parts of brass and steel, working exactly as he drew it in the 1840s.
Babbage’s problem was banal: the mathematical tables of his era, used for navigation and engineering, were riddled with errors that humans kept introducing. His solution was clever. Many useful functions can be approximated by polynomials, and polynomials can be evaluated with nothing but repeated addition. Build a machine that adds reliably, and the errors disappear.
He never finished it. Funding ran out, his engineer quit, and his attention had already moved on to the Analytical Engine – a programmable, general-purpose machine with separate memory and processing units. He didn’t build that either. The contraption I was watching was assembled by the Science Museum between 1985 and 2002, mostly to settle whether Babbage’s drawings were buildable with Victorian engineering tolerances. They were. He was a hundred years early.
A lot of modern computer science is already implicit in the design. The split between data and operation we attribute to von Neumann. Punched-card input, borrowed from the Jacquard loom, that survived into the FORTRAN era. Ada Lovelace, writing notes on the unbuilt Analytical Engine, asking what it would mean for a machine to compute in general – a question we are still answering.
But the real legacy is the bet underneath all of it: that thinking, or some of it, is a physical process you can build out of parts. Every model we train and every program we write assumes Babbage was right.