🏠

Ada Lovelace

British Mathematician

Controversy over extent of contributions

Who developed the "first computer program"?

Allan G. Bromley, in the 1990 article Difference and Analytical Engines, wrote,

All but one of the programs cited in her notes had been prepared by Babbage from three to seven years earlier. The exception was prepared by Babbage for her, although she did detect a 'bug' in it. Not only is there no evidence that Ada ever prepared a program for the Analytical Engine, but her correspondence with Babbage shows that she did not have the knowledge to do so.

— Bromley, Allan G. (1990). "Difference and Analytical Engines", in Aspray, William, Computing Before Computers, Iowa State University Press, pp. 59–98, ISBN: 0813800471.

Bruce Collier wrote in his PhD thesis,

She made a considerable contribution to publicizing the Analytical Engine, but there is no evidence that she advanced the design or theory of it in anyway.

What are the primary sources?

Babbage wrote in his Autobiography in 1864 ,

I then suggested that she add some notes to Menabrea's memoir, an idea which was immediately adopted. We discussed together the various illustrations that might be introduced; I suggested several but the selection was entirely her own. So also was the algebraic working out of the different problems, except, indeed, that relating to the numbers of Bernoulli, which I had offered to do to save Lady Lovelace the trouble. This she sent back to me for an amendment, having detected a grave mistake which I had made in the process.

— Charles Babbage (1864). Passages from the Life of a Philosopher, p. 136, ISBN: 0813520665.

My Interpretation: Babbage states, that he developed the Bernoulli numbers program published in Ada Lovelace's Note G in 1843.

Bernoulli numbers program

Figure 1: Note G, Diagram for the computation of the Bernoulli numbers by the Analytical Engine. (Wikimedia, Public domain)

In a letter to Babbage dated 5 July 1843 Lovelace wrote,

I am doggedly attacking and sifting to the very bottom, all the ways of deducing the Bernoulli Numbers.

— British Library: Add. MSS 37192, folio 349.

— Stein, Dorothy (1985). "Ada: A Life and a Legacy", Cambridge: The MIT Press, p. 107.

In a letter to Babbage dated 10 July 1843 Lovelace wrote,

I want to put in something about Bernoulli’s Numbers, in one of my Notes, as an example of how an implicit function may be worked out by the engine, without having been worked out by human head & hands first. Give me the necessary data & formulae.

— British Library: Add. MS 37192 folios 362-363.

— Kim, Eugene Eric; Toole, Betty Alexandra (1999). "Ada and the first computer", Scientific American, 280 (5): 71–76.

My interpretation: Lovelace got the whole content of the Bernoulli numbers diagram (Figure 1) from Babbage.

In a letter to Babbage dated 21 July 1843 Lovelace wrote,

I am in much dismay at having got into so amazing a quagmire and botheration with these Numbers, that I cannot possibly get the thing done today... . at this moment I am in a charming state of confusion.

— British Library: Add. MSS 37192, folio 382.

— Stein, Dorothy (1985). "Ada: A Life and a Legacy", Cambridge: The MIT Press, p. 107.

The Notes were completed by August 1843, and that they appeared as the last article of Volume 3 of Taylor's Scientific Memoirs in September 1843.

By the end of July 1843, Ada had pretty much finished writing her notes.

In a letter to Babbage dated 14 August 1843 Lovelace wrote,

...arrangement of the notes are shaped, they are very complete...

— British Library: Add. MS 37192 folio 422.

— Essinger, James (2004). "Jacquard's Web: How a hand-loom led to the birth of the information age", OUP Oxford, Appendix 2, ISBN: 019150114X.

— Toole, Betty Alexandra (1992), "Ada, the Enchantress of Numbers: A Selection from the Letters of Ada Lovelace, and her Description of the First Computer", Strawberry Press, p. 227, ISBN: 0912647094.

So she did the work on the Bernoulli numbers program (Figure 1) in a month. In this short period of time, she also must have written at least large parts of Note G (the part concerning the Bernoulli program) and did make this ready for publication.

Is the Bernoulli numbers program the "first computer program"?

Kim and Toole wrote,

Many people, for instance, incorrectly claim that Ada was the first computer programmer. (Babbage, not Ada, wrote the first programs for his Analytical Engine, although most were never published.)

— Kim, Eugene Eric; Toole, Betty Alexandra (May 1999). "Ada and the first computer". Scientific American, 280 (5): 71–76.

Allan G. Bromley wrote:

Some two dozen programs for the Analytical Engine exist dated between 1837 and 1840.

— Bromley, Allan G. (1982). "Analytical Engine". Annals of the History of Computing, 4 (3): 215.

The programs concerning the Gauss elimination are as complex as the Bernoulli numbers program.

My interpretation: The Bernoulli numbers program is not the first computer program.