PlanetPast
EN

History of computing · mathematics

Ada Lovelace and the First Program

Weaving Algebra

Every October, Ada Lovelace Day celebrates women in science and technology. The woman it is named after wrote, in 1843, a set of notes on a calculating machine that existed only on paper: Charles Babbage's Analytical Engine. This film explains what the machines were: how the Difference Engine made tables with nothing but addition, how the Analytical Engine borrowed punched cards from a silk loom, what Lovelace's Note G actually computed, why she said the engine could weave patterns and even music but could not originate anything, and why historians still debate who wrote the first program. Turn the crank yourself.

Interactive 3D film9 min1815 to 2026Published 17 October 2026

Watch the interactive filmRead in ไทย

Prologue

History of computing

Weaving algebra

Notes on a machine that was never finished.

Ada Lovelace died in 1852 and never saw a working computer. Yet on the second Tuesday of every October, schools, universities and companies around the world mark Ada Lovelace Day, a celebration of women in science and technology. In 2026 it fell on the thirteenth.

So why is a woman who never touched a computer remembered as one of its pioneers?

since 2009
grew from an online campaign in the UK
13 Oct 2026
this year’s date
Ada Lovelace Day
Her Notes Her fame rests on one long publication of 1843. AI-generated still.
Prologue · The news

Ada Lovelace Day

Ada Lovelace Day is held on the second Tuesday of October to honour women’s contributions to science and technology (Britannica). It began in 2009 from an online campaign in the United Kingdom; in 2026 it fell on Tuesday 13 October (timeanddate.com).

How to use: pick a chapter or press ← →; drag to rotate. Several steps have buttons you can press.

Sources: timeanddate.com: Ada Lovelace Day (13 October 2026); Encyclopaedia Britannica: Ada Lovelace

Chapter I · Two minds

Chapter I · Two minds

A poet’s daughter

Raised on mathematics instead of poetry.

Augusta Ada Byron was born in London in December 1815, the daughter of the poet Lord Byron and Annabella Milbanke. Her parents separated soon after she was born.

Her mother had her tutored in mathematics, and among her teachers was the logician Augustus De Morgan. In 1835 she married William King, who became Earl of Lovelace in 1838.

A young mathematician An imagined scene, not a likeness of Ada Lovelace. AI-generated still.
  1. 10 Dec 1815 born in London
  2. 1833 meets Charles Babbage
  3. 1835 marries William King
  4. 1838 becomes Countess of Lovelace
Early life (MacTutor / DNB)
Chapter I · Two minds

Ada Byron

MacTutor’s Dictionary of National Biography entry: Ada was born on 10 December 1815 in London to Lord Byron and Anne Isabella Milbanke (Lady Byron), who separated soon after her birth. Augustus De Morgan was one of her tutors. She married William King on 8 July 1835; he was created Earl of Lovelace in 1838.

Sources: MacTutor (University of St Andrews): Ada Lovelace, Dictionary of National Biography entry; Encyclopaedia Britannica: Ada Lovelace

Chapter I · Two minds

A machine in a drawing room

At seventeen, she met the man who wanted to calculate by steam.

In 1833, aged seventeen, Ada met the mathematician Charles Babbage, probably through their mutual friend, the scientist Mary Somerville.

Babbage showed her part of his Difference Engine, a brass machine of stacked number wheels. At the time, tables of numbers for navigation and science were worked out by hand, and copying mistakes crept in. His machine was meant to calculate such tables mechanically.

Number wheels Each wheel holds one decimal digit; a column of wheels holds a whole number. AI-generated still.
17
Ada’s age
41
Babbage’s age
In 1833
  • printed tables: logarithms, navigation, astronomy
  • worked out by hand, by human “computers”
  • a machine would not make copying slips
Why build it
  • set the starting numbers
  • turn the crank
  • read off the next entry
A table, mechanised
Chapter I · Two minds

Meeting Babbage

MacTutor’s DNB entry: in 1833 Ada met Charles Babbage, probably through Mary Somerville, a mutual acquaintance, and saw his Difference Engine. Babbage’s engines were designed to compute and print mathematical tables automatically (Computer History Museum).

That human calculators made errors in printed tables was a motivation Babbage himself described; this film does not quantify it.

The 3D engines are simplified models inspired by Babbage’s designs, not exact reconstructions.

Sources: MacTutor (University of St Andrews): Ada Lovelace, Dictionary of National Biography entry; Computer History Museum: how the Difference Engine works

Chapter II · The engines

Chapter II · The engines

Tables by adding

A clever trick turns squares into sums.

The Difference Engine did not multiply. It used an old trick called the method of differences. Take x squared plus four, for x equals one, two, three and four: five, eight, thirteen, twenty.

The gaps between them are three, five, seven, and the gaps between those gaps are always two.

So to get the next value, you only add: two to the last gap makes nine, and nine to twenty makes twenty-nine. Gears are good at adding. Turn the crank and watch each column add into the next. Babbage's later design could do the same for formulas with powers up to x to the seventh, using numbers thirty-one digits long.

F(x)=x2+4F(x) = x^2 + 4
F(1..4)F(1..4)
5, 8, 13, 20
  • values: 5, 8, 13, 20
  • first differences: 3, 5, 7
  • second differences: 2, 2 (constant)
Differences
7+2=97 + 2 = 920+9=29=F(5)20 + 9 = 29 = F(5)
31 digits
per number
7th
degree polynomials
Difference Engine No. 2
Chapter II · The engines

The method of differences

The Computer History Museum explains the method with F(x) = x² + 4: values 5, 8, 13, 20; first differences 3, 5, 7; a constant second difference of 2. Adding 2 to 7 gives 9, and 9 to 20 gives F(5) = 29; repeating gives F(6) = 40. The method computes any polynomial using addition only, which is easier to build with gearwheels than multiplication. Difference Engine No. 2 holds seven differences and 31-digit numbers.

The 3D engines are simplified models inspired by Babbage’s designs, not exact reconstructions.

Sources: Computer History Museum: how the Difference Engine works

Chapter II · The engines

A machine for anything

Babbage’s bigger idea.

Babbage never finished the Difference Engine. Instead, from around 1834, he designed something far more ambitious: an engine that could carry out any calculation it was given.

The Analytical Engine had a mill, where arithmetic was done, and a store, a memory meant to hold a thousand numbers of fifty digits each.

Numbers moved between them like data between a processor and memory today. Crucially, the engine could also decide what to do next from its own results, jumping to a different set of instructions. This is called conditional branching, and every computer relies on it.

  • Difference Engine: one job, polynomial tables
  • Analytical Engine: any calculation, set by cards
Difference vs Analytical
  • mill: the calculating unit, like a CPU
  • store: memory, 1,000 numbers × 50 digits
  • reader: input from punched cards
  • printer: output
Four parts (Britannica)
1,000
numbers
50
digits each
The store
  • test a result
  • if true, jump to other cards
  • if not, carry on
Branching
Chapter II · The engines

The Analytical Engine

Britannica: Babbage had conceived the Analytical Engine by 1833 and worked on it until his death in 1871. It was to be a general-purpose, program-controlled computer with a mill (calculating unit), a store (memory of 1,000 numbers of 50 digits), a reader (input) and a printer (output). Only parts were ever built.

The 3D engines are simplified models inspired by Babbage’s designs, not exact reconstructions.

Sources: Encyclopaedia Britannica: Analytical Engine

Chapter II · The engines

Holes that give orders

A weaver’s invention became a way to program.

How do you tell a machine what to do? Babbage found the answer in silk weaving. In 1802 Joseph Marie Jacquard took public a loom controlled by a chain of punched cards.

Where a card has a hole, a rod passes through and lifts a thread; where there is no hole, the thread stays down. Card by card, row by row, the pattern appears.

Babbage planned to feed his engine the same kind of cards, carrying operations and numbers instead of threads. Change the cards and see the pattern change.

A chain of cards Cards laced together let one pattern repeat for metres of cloth. AI-generated still.
  • one rod for each warp thread
  • hole: rod passes, thread lifts
  • no hole: thread stays
How a card works (Science History Institute)
Figured silk Before Jacquard, an assistant had to pull the threads for each row by hand. AI-generated still.
Chapter II · The engines

The Jacquard loom

Science History Institute: Jacquard took his invention public in 1802. Each punched card passes over a set of rods, one for each warp thread; where a rod meets a hole, a mechanism lifts the thread. Linked cards repeat the process row by row, removing the need for a drawboy. Babbage saw that such cards could guide a calculating machine. Britannica notes the Analytical Engine’s design included conditional branching: jumping to different instructions depending on results.

The 3D engines are simplified models inspired by Babbage’s designs, not exact reconstructions.

Sources: Science History Institute, Distillations: the French connection (Jacquard and the punched card); Encyclopaedia Britannica: Analytical Engine

Chapter III · The Notes

Chapter III · The Notes

Translator’s notes

The footnotes became the main event.

In 1840 Babbage described his engine at a meeting in Turin. A young Italian engineer, Luigi Menabrea, wrote it up in French.

Lovelace translated Menabrea's paper into English, and added her own notes, labelled A to G. They were published in September 1843 and signed only with her initials, A. A. L. She and Babbage exchanged letters as she wrote them.

  1. 1840 Babbage presents the engine in Turin
  2. Oct 1842 Menabrea’s paper, in French, with Babbage’s tables of operations
  3. Jul 1843 Lovelace proposes Bernoulli numbers as the example
  4. Sep 1843 translation and Notes published
From lecture to Notes
Notes A to G Tables, explanations and one long worked example. AI-generated still.
A. A. L.
Augusta Ada Lovelace: initials only
Signed
Chapter III · The Notes

Sketch of the Analytical Engine

MacTutor’s DNB entry: in September 1843 Lovelace published her translation of Menabrea’s paper on the Analytical Engine with extensive notes, which include what is often considered one of the earliest computer programs; in July 1843 she had proposed to Babbage that Bernoulli numbers be used as the example. The Notes appeared in Richard Taylor’s Scientific Memoirs, volume 3.

BBC Science Focus dates Babbage’s Turin invitation to 1840 and Menabrea’s paper to October 1842; Menabrea’s paper already printed tables of operations from Babbage’s charts (HistoryofInformation). Sources give the Notes’ publication as August or September 1843.

Sources: MacTutor (University of St Andrews): Ada Lovelace, Dictionary of National Biography entry; BBC Science Focus: how Ada Lovelace’s notes created the first computer program; HistoryofInformation.com: Menabrea’s 1842 paper, the first publication of programs for the Analytical Engine; Today in Science History: quotations from Lovelace’s Notes (Scientific Memoirs, 1843)

Chapter III · The Notes

Note G

Every step of a calculation, written out for a machine.

The last note, Note G, is the famous one. In it Lovelace showed how the engine would compute the Bernoulli numbers, a sequence that appears throughout mathematics. They are fractions, one sixth, minus one thirtieth, one forty-second and so on, and tedious to work out by hand.

She laid it out as a table: each operation in order, which variables in the store it read and which it changed. It included a loop: a group of steps repeated as a cycle.

She chose a method that was not the simplest on purpose, to show what the engine could do. Step through the operations to watch values move between store and mill.

a step-by-step trace
of a program, showing what the machine would do; the punched cards were never fully specified
Strictly speaking
  • a table of operations, step by step
  • the variables each step reads and writes
  • a loop that repeats a group of steps
What Note G contains
…the object is not simplicity or facility of computation, but the illustration of the powers of the engine.Ada Lovelace, Note G (1843), quoted by BBC Science Focus
Chapter III · The Notes

What Note G computed

BBC Science Focus: Note G uses the Analytical Engine to calculate Bernoulli numbers, with a table tracing the values stored, processed and moved through the machine at each step; Lovelace wrote that her “object is not simplicity or facility of computation, but the illustration of the powers of the engine.” Often called the first computer program, it is more precisely an execution trace, since the punched cards themselves were left unclear in Babbage’s designs.

Bernoulli numbers are given here in modern numbering (B2 = 1/6, B4 = −1/30, B6 = 1/42); Lovelace numbered them differently.

The on-screen store and mill show a simplified sequence of operations, not Lovelace’s exact table.

The 3D engines are simplified models inspired by Babbage’s designs, not exact reconstructions.

Sources: BBC Science Focus: how Ada Lovelace’s notes created the first computer program

Chapter III · The Notes

Weaving algebra

Symbols, not just numbers.

What makes the Notes remarkable is not only Note G. Lovelace saw that the engine handled symbols, not just quantities.

She wrote that the Analytical Engine weaves algebraical patterns just as the Jacquard loom weaves flowers and leaves.

And if musical sounds and their relationships could be expressed in the engine's notation, she suggested, it might compose elaborate pieces of music. Today computers handle text, images and sound by turning them into numbers, much as she imagined.

The Analytical Engine weaves algebraical patterns just as the Jacquard loom weaves flowers and leaves.Ada Lovelace, Notes (1843)
…the engine might compose elaborate and scientific pieces of music of any degree of complexity or extent.Ada Lovelace, Note A (1843)
  • text: a number for every character
  • images: numbers for every pixel
  • sound: numbers for every sample
Symbols as numbers, today
Chapter III · The Notes

Beyond arithmetic

In Note A (Scientific Memoirs, 1843, vol. 3, p. 694) Lovelace wrote that if the relations of pitched sounds could be expressed and adapted to the engine’s notation, “the engine might compose elaborate and scientific pieces of music of any degree of complexity or extent.” On p. 696: “The Analytical Engine weaves algebraical patterns just as the Jacquard loom weaves flowers and leaves.”

The woven pattern on screen is generated from a simple arithmetic rule, as an illustration of her idea.

Sources: Today in Science History: quotations from Lovelace’s Notes (Scientific Memoirs, 1843); Science History Institute, Distillations: the French connection (Jacquard and the punched card)

Chapter III · The Notes

Lovelace’s objection

Can a machine originate anything?

She also set a limit. The engine, she wrote, has no pretensions whatever to originate anything. It can do whatever we know how to order it to perform.

A century later, in 1950, the British mathematician and computing pioneer Alan Turing called this Lady Lovelace's objection, and argued against it: a machine could be ordered to produce answers its makers could not predict.

The same argument is alive today, every time people ask whether an AI system is creating or only following instructions.

The Analytical Engine has no pretensions whatever to originate anything.Ada Lovelace, Notes (1843)
  • he named it “Lady Lovelace’s objection”
  • machines can be ordered to be unpredictable
  • the debate is still open
Turing’s reply (1950)
The question today Machines vastly more powerful than Babbage’s still raise her question. AI-generated still.
Chapter III · The Notes

“Lady Lovelace’s objection”

Lovelace wrote: “The Analytical Engine has no pretensions whatever to originate anything. It can do whatever we know how to order it to perform.” BBC Science Focus notes that Alan Turing named this “Lady Lovelace’s objection” and argued that a machine could be ordered to be original, producing answers we cannot predict.

Turing’s paper, “Computing Machinery and Intelligence”, appeared in 1950.

Sources: Today in Science History: quotations from Lovelace’s Notes (Scientific Memoirs, 1843); BBC Science Focus: how Ada Lovelace’s notes created the first computer program

Chapter IV · Legacy

Chapter IV · Legacy

An honest debate

Historians do not all agree, and that is fine.

Was Lovelace the first programmer? Historians disagree. Babbage himself had written out sequences of operations for his engine years earlier; one study dates his first to 1837.

Some scholars have doubted how much of the Notes' mathematics was hers. Others, studying her letters and manuscripts, conclude she was a capable mathematician working closely with Babbage.

What is clearer: her Notes gave the clearest account of what a general-purpose machine could become.

  • 26 programming examples, 1836–1841
  • the first dated 4 August 1837
  • unpublished in his lifetime
Babbage’s own programs (Rojas, 2023)
  • sceptics: much of the mathematics came from Babbage
  • others, from Bodleian manuscripts: a competent mathematician and partner
Two readings of the Notes
  1. 1842 Menabrea’s paper: Babbage’s tables
  2. 1843 Lovelace’s Notes, with Note G
In print
Chapter IV · Legacy

The historians’ debate

Raúl Rojas (2023) analyses Babbage’s 26 programming examples from 1836–1841 and argues that Babbage wrote the first computer program, dated 4 August 1837, six years before the published examples in Lovelace’s Notes. BBC Science Focus notes that scholars have debated whether Lovelace had the mathematical background attributed to her; its authors, drawing on manuscripts at the Bodleian Library, conclude she was a competent mathematician who could work with Babbage. Britannica describes her as having been called the first computer programmer.

This film presents both views without ranking them.

Sources: Rojas (2023), arXiv: the first computer program (Babbage’s 1837 code); BBC Science Focus: how Ada Lovelace’s notes created the first computer program; HistoryofInformation.com: Menabrea’s 1842 paper, the first publication of programs for the Analytical Engine; Encyclopaedia Britannica: Ada Lovelace

Chapter IV · Legacy

Built at last

A century and a half later, the brass worked.

Lovelace died of cancer in November 1852, aged thirty-six, and was buried beside the father she had never known. Babbage died in 1871, his engines unfinished.

Were his designs simply impossible? In 1991 London's Science Museum finished building the calculating section of his Difference Engine No. 2 from his drawings. With its printer, added in 2002, the whole machine has about eight thousand parts and weighs five tons, and it works.

Turn its crank yourself.

  1. 27 Nov 1852 Lovelace dies, aged 36
  2. 1871 Babbage dies, engines unfinished
  3. 1991 Difference Engine No. 2 calculating section completed
  4. 2002 its printer completed
After the Notes
Difference Engine No. 2 About 7 ft high and 11 ft long, built to Babbage’s 1840s drawings. AI-generated still.
~8,000
parts
5 tons
weight
Built by the Science Museum (CHM)
Chapter IV · Legacy

Difference Engine No. 2

MacTutor’s DNB entry: Lovelace died on 27 November 1852 in London, of uterine cancer, and at her own request was buried at Hucknall beside her father. Britannica: Babbage worked on the Analytical Engine until his death in 1871. The Computer History Museum: the Science Museum in London, under curator Doron Swade, completed the calculating section of Difference Engine No. 2 in 1991 and its printing apparatus in 2002; the machine has about 8,000 parts, weighs five tons and is about 7 feet high and 11 feet long.

The 3D engines are simplified models inspired by Babbage’s designs, not exact reconstructions.

Sources: MacTutor (University of St Andrews): Ada Lovelace, Dictionary of National Biography entry; Encyclopaedia Britannica: Analytical Engine; Computer History Museum: a modern sequel, building Difference Engine No. 2

Chapter IV · Legacy

A name that stayed

A programming language, and a day.

In 1980 a new programming language, designed for the United States Department of Defense, was named Ada in her honour. Its standard was numbered 1815, the year she was born.

And since 2009, Ada Lovelace Day has used her story to encourage girls and women into science, engineering and computing. Both honour her less for one table of operations than for the idea behind it.

1980
named after Lovelace
MIL-STD-1815
its standard: her birth year
The Ada language (UNI)
Code today Her name now sits on a language, a day and countless classrooms. AI-generated still.
  • the most detailed program in the 1843 Notes
  • seeing computing as symbols, not only numbers
Remembered for
Chapter IV · Legacy

Ada, the language

University of Northern Iowa course notes: the name Ada was selected in 1980 for the new language, honouring Ada Lovelace; its reference manual, produced by Jean Ichbiah’s team in 1979–1983, was MIL-STD-1815A, a number matching her birth year. Ada Lovelace Day has been held since 2009 (timeanddate.com).

Sources: University of Northern Iowa: a brief history of the Ada programming language; timeanddate.com: Ada Lovelace Day (13 October 2026)

Epilogue

Epilogue

Weaving algebra

An engine on paper, and an idea that outlived it.

The Analytical Engine was never completed. But its parts have names we still use: a processor, a memory, input, output, and a program on cards.

Ada Lovelace saw, about a century before the first electronic computers, that such a machine would not be just a calculator. It would be a weaver of symbols, and only as creative as the people who instruct it. That last part is still being argued.

  • mill → processor
  • store → memory
  • cards → program and input
  • printer → output
1840s parts, today’s names
Notes into light All stills and illustrations in this film are AI-generated; none is a likeness of a real person.
1843
Lovelace: it cannot originate
1950
Turing replies
A long conversation