ArticlePDF Available

Was Ada Lovelace actually the first programmer?

Authors:

Abstract

In his report about the analytical engine of Charles Babbage in tabular form Luigi Federico Mena-brea published a program for solving linear equation systems. This work was the result of a talk that Babbage gave at a conference in Turin (1840) (see Luigi Federico Menabrea: Notions sur la machine analytique de M. Charles Babbage, in: Bibliothèque universelle de Genève, 1842, new series, volume 41, pages 352–376). Ada Lovelace translated Menabrea's article into English and added several comments of her own. She describes – also in tabular form – a program for the calculation of Bernouilli numbers (see Ada Lovelace: Notes by the translator, for L. F. Menabrea, sketch of the analytical engine invented by Charles Babbage, esq., in: Scientific Memoirs, volume 3, Richard and John E. Taylor, London 1843, pages 666–731). At the time of the 200th birthday (2015) of Ada Lovelace a number of new books were issued. _________________________________________________________________________________ Was Ada Lovelace Actually the First Programmer? | blog@CACM | Communications of the ACM August 8, 2022
1
Was Ada Lovelace actually the first programmer?
In his report about the analytical engine of Charles Babbage in tabular form Luigi Federico Mena-
brea published a program for solving linear equation systems. This work was the result of a talk
that Babbage gave at a conference in Turin (1840) (see Luigi Federico Menabrea: Notions sur la
machine analytique de M. Charles Babbage, in: Bibliothèque universelle de Genève, 1842, new
series, volume 41, pages 352–376).
Ada Lovelace translated Menabrea's article into English and added several comments of her
own. She describes also in tabular form a program for the calculation of Bernouilli numbers
(see Ada Lovelace: Notes by the translator, for L. F. Menabrea, sketch of the analytical engine in-
vented by Charles Babbage, esq., in: Scientific Memoirs, volume 3, Richard and John E. Taylor,
London 1843, pages 666–731).
At the time of the 200th birthday (2015) of Ada Lovelace a number of new books were issued.
Ada Lovelace was the first programmer
"The most elaborate program developed by Babbage and Lady Lovelace for this machine was a rou-
tine for calculating Bernoulli numbers" (see Donald E. Knuth; Luis Trabb Pardo: The early devel-
opment of programming languages, in: Donald E. Knuth (ed.): Selected papers on computer lan-
guages, Center for the Study of Language and Information, Stanford CA 2003, page 5).
"There is direct documentary evidence that Ada Lovelace created this table (writing it out in pen-
cil)" (see Thomas J. Misa: Charles Babbage, Ada Lovelace, and the Bernoulli numbers, in: Robin
Hammerman; Andrew L. Russell (eds.): Ada’s legacy, Association for Computing Machin-
ery/Morgan & Claypool Publishers, San Rafael, California 2016, page 15).
"Even if Babbage provided Ada with the mathematical expressions for the Bernoulli numbers, and
assisted with the derivation of a general formula, the transformation of the general formula into a
step-by-step algorithm remains Ada’s achievement, as the letters clearly indicate" (see Thomas J.
Misa: Charles Babbage, Ada Lovelace, and the Bernoulli numbers, in: Robin Hammerman and An-
drew L. Russell (eds.): Ada’s legacy, Association for Computing Machinery/Morgan & Claypool
Publishers, San Rafael, California 2016, page 26).
"For Note G on the Bernoulli numbers, the table-algorithm has ten data variables, three working
variables, and four result variables. The computation has just 25 operations, but there are in addition
two nested loops: an outer loop consisting of steps 13–23, and two inner loops consisting of steps
13–16 and 17–20 […]. Nothing like it appeared in Menabrea’s original" (see Thomas J. Misa:
Charles Babbage, Ada Lovelace, and the Bernoulli numbers, in: Robin Hammerman and Andrew L.
Russell (eds.): Ada’s legacy, Association for Computing Machinery/Morgan & Claypool Publish-
ers, San Rafael, California 2016, page 28).
"At the least, we can grant her primary authorship of the first algorithm intended for a computing
machine" (see Thomas J. Misa: Charles Babbage, Ada Lovelace, and the Bernoulli numbers, in:
Robin Hammerman and Andrew L. Russell (eds.): Ada’s legacy, Association for Computing Ma-
chinery/Morgan & Claypool Publishers, San Rafael, California 2016, pages 29/30).
Ada Lovelace was not the first programmer
2
"Lovelace is widely celebrated for a variety of reasons. She is variously described as a mathematical
genius, as having a critical influence on the invention of the Analytical Engine, of being the first
programmer, and of being a prophet of the computer age. The first two of these are unsupported by
evidence of any kind and are readily disproved by the simple chronology of events. The third claim
to fame (that she was the first programmer) is understandable but wrong. But the tribute of being a
visionary of the computer age justifies as fully deserved the tributes paid to her for otherwise mis-
taken reasons" (see Doron D. Swade: Pre-electronic computing, in: Cliff B. Jones and John L.
Lloyd (eds.): Dependable and historic computing, Springer-Verlag, Heidelberg etc. 2011, pages 75–
76).
"The notes contain examples of algorithmic stepwise sequences of operations executed by the no-
tional Analytical Engine to find solutions, what we would now call "programs“, though neither
Babbage nor Ada used these terms. The most detailed worked example was a "program" to compute
Bernoulli numbers. So the first published example of a "program" appeared under Ada’s name.
While it is edifying to describe her as "the first programmer" and therefore the originator of the
practices and procedures of computational solution by machine, it is misleading to do so. Those
familiar with the archival sources are clear that the techniques and examples in the paper were those
devised by Babbage much earlier and suggested or supplied by him" (see Doron D. Swade: Pioneer
profile Ada Lovelace, in: Resurrection. The bulletin of the Computer Conservation Society, winter
2010/2011, no. 53, page 33).
Conclusions
In the dispute between engineers (the English historian of technology Doron Swade and also the
Australian Allan Bromley) and the American historian Thomas Misa, one can concur with the engi-
neers: as archive documents show, the programs for the solution of linear equation systems and for
the calculation of Bernoulli numbers are probably attributable to Babbage. It can therefore be as-
sumed that Ada Lovelace is celebrated unjustly as the creator of the first program.
Source
Bruderer, Herbert: Milestones in Analog and Digital Computing, Springer Nature Switzerland AG,
Cham, 3rd edition 2020, 2 volumes, 2113 pages, 715 illustrations, 151 tables, translated from the
German by John McMinn, https://www.springer.com/de/book/9783030409739
3
Meilensteine der Rechentechnik/Milestones in Analog and Digital Computing, volume 1 (Credit: De Gruy-
ter Oldenbourg/Springer Nature 2020)
Bruderer, Herbert: Meilensteine der Rechentechnik, De Gruyter Oldenbourg, Berlin/Boston, 3. Auf-
lage 2020, Band 1, 970 Seiten, 577 Abbildungen, 114 Tabellen,
https://www.degruyter.com/view/title/567028?rskey=xoRERF&result=7
Bruderer, Herbert: Meilensteine der Rechentechnik, De Gruyter Oldenbourg, Berlin/Boston, 3. Auf-
lage 2020, Band 2, 1055 Seiten, 138 Abbildungen, 37 Tabellen,
https://www.degruyter.com/view/title/567221?rskey=A8Y4Gb&result=4
Herbert Bruderer
Seehaldenstrasse 26, Postfach 47, CH-9401 Rorschach, Switzerland
+41 71 855 77 11,
herbert.bruderer@bluewin.ch, bruderer@retired.ethz.ch
August 2022
Book
Full-text available
¿Cuáles son los principios subyacentes a toda herramienta en programación? Si quiere conocer los ocho principios, técnicos y conductuales, que dan respuesta a esta pregunta, ha llegado al libro indicado. En una época donde cada día surgen nuevas tecnologías, el beneficio de conocer conceptos transversales a todas ellas no solo es imprescindible, sino también necesario. Además, con la llegada de sofisticadas aplicaciones de inteligencia artificial, la pregunta ya no reside en qué herramienta aprender, sino en qué tienen en común para poder integrarlas. Gracias a la lectura de este libro, descubrirá los cinco tomos que lo componen y que dan soporte a la nueva forma de entender la programación.
CH-9401 Rorschach, Switzerland +41 71 855 77 11, herbert.bruderer@bluewin.ch, bruderer@retired.ethz
Herbert Bruderer Seehaldenstrasse 26, Postfach 47, CH-9401 Rorschach, Switzerland +41 71 855 77 11, herbert.bruderer@bluewin.ch, bruderer@retired.ethz.ch August 2022