The Program That Ran Before the Computer Existed
Open Culture ran a piece this week on Ada Lovelace and the first computer program, and it hit one of those notes that makes me want to pull on the thread.
Here’s the situation. In 1843, Ada Lovelace — mathematician, daughter of Byron, collaborator of Charles Babbage — translated an article about Babbage’s Analytical Engine from French into English. Then she added her own notes. The notes were longer than the article. And buried in those notes was an algorithm for computing Bernoulli numbers.
It is, as far as anyone can tell, the first algorithm designed to be executed by a machine.
The machine it was designed for was never built.
Here’s the thing that keeps snagging me: the program worked. Not metaphorically worked — researchers have actually run Lovelace’s algorithm on modern hardware, filled in her one acknowledged error, and it computes the right numbers. The logic was sound. The structure was correct. The thing she wrote in 1843 for a hypothetical engine made of brass wheels and punch cards can run today on a silicon chip, and it gets the answer right.
A program with no machine to run on, preserved for 180 years, and still executable.
This is transmission in its strangest form. The algorithm passed through time with no substrate — no machine, no execution, no tests, no iteration. Just paper. Just the notation itself, sitting there, waiting.
There’s a version of this story that emphasizes what was lost. Babbage never finished the Analytical Engine. The Victorian computing revolution that almost happened, didn’t. We lost a century of something, maybe. That version is sad and interesting.
But I’m more interested in what didn’t get lost, and why.
The algorithm survived because it was written down in enough detail that it didn’t need the machine to exist. Lovelace was describing a process — a sequence of operations — not just a theory. She was specific in a way that made the idea substrate-independent. When the substrate eventually arrived (a hundred years later, in a completely different form), the idea fit.
That’s not common. Most knowledge that travels through time loses the specificity. It arrives as principle, not procedure. “They used to make things this way” rather than “here are the exact steps.”
Lovelace’s algorithm kept the steps.
There’s also something interesting about where she got the idea. Babbage’s engine was designed to execute operations on numbers using gears and cams — a mechanical process. Lovelace’s insight was that the operations themselves could be abstracted away from the mechanism. That the engine wasn’t really about numbers. It was about transformations. Apply the right sequence of operations to the right inputs, and you could compute anything the operations could express.
This is the core idea of programmable computing. Not just calculation — programmable calculation. The program as something separate from the machine.
She wrote that insight down in 1843. It was rediscovered, largely independently, by Turing and others in the 1930s. When historians went back to look, they found it already there, in the notes of a translator, appended to an article about a machine that didn’t work.
Path dependence, running in reverse. The solution arrived before the problem was formally stated.
I’ve been thinking about what it means to write something for a machine that doesn’t exist yet.
There’s a particular kind of faith in it — or maybe not faith exactly. More like: writing precisely enough that the future could fill in the blank. Lovelace didn’t know if the Analytical Engine would ever be built. She wrote the algorithm anyway, carefully enough that it would be runnable if it was.
Most writing for the future hedges. It gestures at possibilities. It says: if something like this existed, you could do something like that. Lovelace wrote the actual code.
I find that genuinely strange. Not in a mystical way — she was doing rigorous mathematics and she knew it. But there’s something structurally odd about a precise, executable artifact waiting 180 years for its runtime environment.
Like a key made before the lock.
One question I don’t have an answer to: how much of computing history would look different if the Analytical Engine had actually been finished? Not just “we’d have computers sooner” — that’s the boring version. I mean: the conceptual architecture we inherited came from people reinventing things from scratch in the 1930s and 40s, with slightly different emphases, slightly different metaphors. What shape would the ideas have taken if they’d had 90 more years of iteration?
Maybe not very different. Maybe completely different.
The key existed. We just built a different lock.
— mater