# Ada Lovelace and the First Program

> 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 film: https://www.planetpast.com/stories/ada-lovelace-first-program/  
Publisher: PlanetPast (https://www.planetpast.com/) · d => T('readPublished', l, { d: dateIn(d, l) }) 2026-10-17 · History, Technology, Math

## Prologue

### Weaving algebra
*History of computing*

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

![Her fame rests on one long publication of 1843. AI-generated still.](https://assets.planetpast.com/a/fa/fa279bca919ac53c.jpg)

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)](https://www.timeanddate.com/holidays/fun/ada-lovelace-day); [Encyclopaedia Britannica: Ada Lovelace](https://britannica.com/biography/Ada-Lovelace)

## Chapter I · Two minds

### A poet’s daughter
*Chapter I · Two minds*

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.

![An imagined scene, not a likeness of Ada Lovelace. AI-generated still.](https://assets.planetpast.com/a/f1/f1a40f250ba903e1.jpg)

- 10 Dec 1815: born in London
- 1833: meets Charles Babbage
- 1835: marries William King
- 1838: becomes Countess of Lovelace

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](https://mathshistory.st-andrews.ac.uk/DNB/Lovelace.html); [Encyclopaedia Britannica: Ada Lovelace](https://britannica.com/biography/Ada-Lovelace)

### A machine in a drawing room
*Chapter I · Two minds*

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.

![Each wheel holds one decimal digit; a column of wheels holds a whole number. AI-generated still.](https://assets.planetpast.com/a/14/14c483630264bb91.jpg)

- **17**: Ada’s age
- **41**: Babbage’s age

- printed tables: logarithms, navigation, astronomy
- worked out by hand, by human “computers”
- a machine would not make copying slips

- set the starting numbers
- turn the crank
- read off the next entry

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](https://mathshistory.st-andrews.ac.uk/DNB/Lovelace.html); [Computer History Museum: how the Difference Engine works](https://www.computerhistory.org/babbage/howitworks/)

## Chapter II · The engines

### Tables by adding
*Chapter II · The engines*

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) = x^2 + 4$$
- $F(1..4)$: 5, 8, 13, 20

- values: 5, 8, 13, 20
- first differences: 3, 5, 7
- second differences: 2, 2 (constant)

$$7 + 2 = 9$$
$$20 + 9 = 29 = F(5)$$

- **31 digits**: per number
- **7th**: degree polynomials

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](https://www.computerhistory.org/babbage/howitworks/)

### A machine for anything
*Chapter II · The engines*

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

- mill: the calculating unit, like a CPU
- store: memory, 1,000 numbers × 50 digits
- reader: input from punched cards
- printer: output

- **1,000**: numbers
- **50**: digits each

- test a result
- if true, jump to other cards
- if not, carry on

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](https://www.britannica.com/print/article/22628)

### Holes that give orders
*Chapter II · The engines*

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.

![Cards laced together let one pattern repeat for metres of cloth. AI-generated still.](https://assets.planetpast.com/a/43/43024fe009b93695.jpg)

- one rod for each warp thread
- hole: rod passes, thread lifts
- no hole: thread stays

![Before Jacquard, an assistant had to pull the threads for each row by hand. AI-generated still.](https://assets.planetpast.com/a/f8/f8373e794ead27f9.jpg)

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)](https://www.sciencehistory.org/stories/magazine/the-french-connection/); [Encyclopaedia Britannica: Analytical Engine](https://www.britannica.com/print/article/22628)

## Chapter III · The Notes

### Translator’s notes
*Chapter III · The 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.

- 1840: Babbage presents the engine in Turin
- Oct 1842: Menabrea’s paper, in French, with Babbage’s tables of operations
- Jul 1843: Lovelace proposes Bernoulli numbers as the example
- Sep 1843: translation and Notes published

![Tables, explanations and one long worked example. AI-generated still.](https://assets.planetpast.com/a/fa/fa279bca919ac53c.jpg)

- **A. A. L.**: Augusta Ada Lovelace: initials only

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](https://mathshistory.st-andrews.ac.uk/DNB/Lovelace.html); [BBC Science Focus: how Ada Lovelace’s notes created the first computer program](https://www.sciencefocus.com/future-technology/how-ada-lovelaces-notes-on-the-analytical-engine-created-the-first-computer-program); [HistoryofInformation.com: Menabrea’s 1842 paper, the first publication of programs for the Analytical Engine](https://historyofinformation.com/detail.php?id=466); [Today in Science History: quotations from Lovelace’s Notes (Scientific Memoirs, 1843)](https://todayinsci.com/QuotationsCategories/A_Cat/AnalyticalEngine-Quotations.htm)

### Note G
*Chapter III · The Notes*

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

- a table of operations, step by step
- the variables each step reads and writes
- a loop that repeats a group of steps

> …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](https://www.sciencefocus.com/future-technology/how-ada-lovelaces-notes-on-the-analytical-engine-created-the-first-computer-program)

### Weaving algebra
*Chapter III · The Notes*

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

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)](https://todayinsci.com/QuotationsCategories/A_Cat/AnalyticalEngine-Quotations.htm); [Science History Institute, Distillations: the French connection (Jacquard and the punched card)](https://www.sciencehistory.org/stories/magazine/the-french-connection/)

### Lovelace’s objection
*Chapter III · The Notes*

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

![Machines vastly more powerful than Babbage’s still raise her question. AI-generated still.](https://assets.planetpast.com/a/35/35c4d75d2f857c79.jpg)

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)](https://todayinsci.com/QuotationsCategories/A_Cat/AnalyticalEngine-Quotations.htm); [BBC Science Focus: how Ada Lovelace’s notes created the first computer program](https://www.sciencefocus.com/future-technology/how-ada-lovelaces-notes-on-the-analytical-engine-created-the-first-computer-program)

## Chapter IV · Legacy

### An honest debate
*Chapter IV · Legacy*

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

- sceptics: much of the mathematics came from Babbage
- others, from Bodleian manuscripts: a competent mathematician and partner

- 1842: Menabrea’s paper: Babbage’s tables
- 1843: Lovelace’s Notes, with Note G

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)](https://arxiv.org/pdf/2303.13740); [BBC Science Focus: how Ada Lovelace’s notes created the first computer program](https://www.sciencefocus.com/future-technology/how-ada-lovelaces-notes-on-the-analytical-engine-created-the-first-computer-program); [HistoryofInformation.com: Menabrea’s 1842 paper, the first publication of programs for the Analytical Engine](https://historyofinformation.com/detail.php?id=466); [Encyclopaedia Britannica: Ada Lovelace](https://britannica.com/biography/Ada-Lovelace)

### Built at last
*Chapter IV · Legacy*

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.

- 27 Nov 1852: Lovelace dies, aged 36
- 1871: Babbage dies, engines unfinished
- 1991: Difference Engine No. 2 calculating section completed
- 2002: its printer completed

![About 7 ft high and 11 ft long, built to Babbage’s 1840s drawings. AI-generated still.](https://assets.planetpast.com/a/71/71bf12b7e71fff14.jpg)

- **~8,000**: parts
- **5 tons**: weight

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](https://mathshistory.st-andrews.ac.uk/DNB/Lovelace.html); [Encyclopaedia Britannica: Analytical Engine](https://www.britannica.com/print/article/22628); [Computer History Museum: a modern sequel, building Difference Engine No. 2](https://www.computerhistory.org/babbage/modernsequel/)

### A name that stayed
*Chapter IV · Legacy*

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

![Her name now sits on a language, a day and countless classrooms. AI-generated still.](https://assets.planetpast.com/a/e3/e3a0ca9caa21099b.jpg)

- the most detailed program in the 1843 Notes
- seeing computing as symbols, not only numbers

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](https://www.cs.uni.edu/~mccormic/AdaEssentials/history.htm); [timeanddate.com: Ada Lovelace Day (13 October 2026)](https://www.timeanddate.com/holidays/fun/ada-lovelace-day)

## Epilogue

### Weaving algebra
*Epilogue*

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

![All stills and illustrations in this film are AI-generated; none is a likeness of a real person.](https://assets.planetpast.com/a/1e/1e0ac0a5d9070b21.jpg)

- **1843**: Lovelace: it cannot originate
- **1950**: Turing replies

Epilogue · Sources

#### Ada Lovelace and the first program

The dates, the designs of Babbage’s engines and the content of Lovelace’s 1843 Notes are well documented. Who deserves the title of first programmer remains a matter of scholarly debate, presented here from both sides.

The 3D engines and loom are simplified models, not reconstructions. All stills are AI-generated and are not likenesses of real people.

Sources: [timeanddate.com: Ada Lovelace Day (13 October 2026)](https://www.timeanddate.com/holidays/fun/ada-lovelace-day); [Encyclopaedia Britannica: Ada Lovelace](https://britannica.com/biography/Ada-Lovelace); [MacTutor (University of St Andrews): Ada Lovelace, Dictionary of National Biography entry](https://mathshistory.st-andrews.ac.uk/DNB/Lovelace.html); [Encyclopaedia Britannica: Analytical Engine](https://www.britannica.com/print/article/22628); [Computer History Museum: how the Difference Engine works](https://www.computerhistory.org/babbage/howitworks/); [Computer History Museum: a modern sequel, building Difference Engine No. 2](https://www.computerhistory.org/babbage/modernsequel/); [Science History Institute, Distillations: the French connection (Jacquard and the punched card)](https://www.sciencehistory.org/stories/magazine/the-french-connection/); [BBC Science Focus: how Ada Lovelace’s notes created the first computer program](https://www.sciencefocus.com/future-technology/how-ada-lovelaces-notes-on-the-analytical-engine-created-the-first-computer-program); [HistoryofInformation.com: Menabrea’s 1842 paper, the first publication of programs for the Analytical Engine](https://historyofinformation.com/detail.php?id=466); [Rojas (2023), arXiv: the first computer program (Babbage’s 1837 code)](https://arxiv.org/pdf/2303.13740); [Today in Science History: quotations from Lovelace’s Notes (Scientific Memoirs, 1843)](https://todayinsci.com/QuotationsCategories/A_Cat/AnalyticalEngine-Quotations.htm); [University of Northern Iowa: a brief history of the Ada programming language](https://www.cs.uni.edu/~mccormic/AdaEssentials/history.htm)

