{\huge Ada the Amplifier}

Plus updated links to our Knuth and TED talks \vspace{.25in}

Ada Lovelace was nuts. Some have used this to minimize her contributions to the stalled development of Charles Babbage's ``Analytical Engine'' in the 1840s. Judging from her famously over-the-top ``Notes'' to her translation of the only scientific paper (known as the ``Sketch'') published on Babbage's work in his lifetime, we think the opposite. It took nuttily-driven intensity to carry work initiated by Babbage several square meters beyond what he evidently expected.

This month we have been enjoying Walter Isaacson's new book The Innovators and have a few short things to add.

Martin Campbell-Kelly and William Aspray, in their 2013 book Computer: A History of the Information Machine with Nathan Ensmenger and Jeffrey Yost, represent a consensus scholarly view:

``One should note, however that the extent of Lovelace's intellectual contribution to the Sketch has been much exaggerated. ... Later scholarship has shown that most of the technical content and all of the programs in the Sketch were Babbage's work. But even if the Sketch were based almost entirely on Babbage's ideas, there is no question that Ada Lovelace provided its voice. Her role as the prime expositor of the Analytical Engine was of enormous importance to Babbage...''

We agree with much of this but feel the intellectual aspect of amplification given by her notes is being missed and needs its special due.

The ``Sketch''

Babbage was a polymath and rose to the Lucasian Professorship at Cambridge in the line of Isaac Newton and Paul Dirac and Stephen Hawking, but he never gave a lecture there while making many forays into politics and polemics and industrial practice and theology. He held weekly public gatherings in London all through the 1830s which Lovelace frequented. They included a prototype of his ``Difference Engine,'' which the British government had funded for the creation of error-free military and scientific tables to the tune of over ten million dollars in our money, but which he abandoned on perceiving the loftier idea of universal computation. In 1837 he wrote a long manuscript on the design of his ``Analytical Engine'' and its mechanics for the four basic arithmetical operations plus root-extraction. He dated it finished on his forty-sixth birthday 12/26/37, but did not publish it in any form. In 1840 he gave invited lectures on the engine at the University of Turin. They were scribed by a military mathematician and later politician named Luigi Menabrea and produced a paper in French two years later.

Lovelace was also friends with the electrical pioneers Charles Wheatstone and Michael Faraday. Wheatstone suggested to her to translate Menabrea's paper, which Babbage encouraged further by suggesting she add her own notes to it. Her translation was dutiful, but her seven ``Notes'' labeled A--G swelled to over twice its length again. Her Note G mainly concerned the steps for calculating the $latex {n}&fg=000000$th Bernoulli number (using notation $latex {B_{2n-1}}&fg=000000$ rather than today's $latex {B_{2n}}&fg=000000$ or $latex {B_n}&fg=000000$). The technical parts included the following:

  1. A derivation of a recursive formula for $latex {B_{2n-1}}&fg=000000$ in terms of all previous Bernoulli numbers, saying how if not fully why it was ``peculiarly fitted'' for the computation compared to other formulas considered.
  2. A gigantic diagram in tabular form of the recursive computation with specifics for $latex {B_7}&fg=000000$ but detailed attention to what happens for any $latex {n}&fg=000000$.
  3. Several pages of concrete punch-card programming details for $latex {B_7}&fg=000000$, again with discussion of general $latex {n}&fg=000000$.

This was worked out in lengthy correspondence with Babbage and then, as Isaacson details, three weeks of ``crunch time'' for Lovelace in July 1843 before the printer deadline. Babbage wrote the following in his autobiography two decades later:

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.

There is debate on whether ``algebraic working out'' refers to the first part of Note G or the whole, but it seems clear to us that only the derivation in the first part leading to formula (8) is referred to. The identity of the ``grave mistake'' is not known, but it seems like an error of derivation not programming.

Masters or Doctorate?

Menabrea's paper has a brief mention of Bernoulli numbers toward the end, which points toward Babbage having raised but not elaborated their computation in his Turin lectures. What we don't know is how far Babbage had worked out the programming details. What strikes us is evidence of layers of stepwise refinement from spec to program over time.

Per Babbage's account, Lovelace worked out at least the bottom layer of all her examples. The examples in her notes B--F have stronger ties to Menabrea's coverage. Despite Babbage's crediting her also for their initial-layer algebraic work it is plausible that he had already digested all details. The start of Note A seems to indulge algebraic whimsy in how it styles the Difference Engine's limitation to polynomials of degree six. She says the ``particular function whose integral it was constructed to tabulate'' is

$latex \displaystyle \Delta^7 u = 0, &fg=000000$

thus reducing it in a sense to nothingness. She puns on six applications of $latex {+}&fg=000000$ being ``the whole sum and object of that engine,'' trashing it by comparison to the Analytical Engine. Babbage tried to add a preface inveighing against the government's refusal to fund the Analytical Engine in a way that would have come from her in print; her principled refusal may have surprised him into asking to scrap the whole paper before he saw sense and relented. In any event we can concur with those who limit her credit to exposition and programming in these sections.

In the Bernoulli section, however, her impact in all layers comes out strong. There is a curious bit of incompleteness regarding the signs of the numbers. It is not a critical matter but requires making choices in the program, and its presence speaks to Babbage's having not done so. The table and programming parts involve details of procedure and semantics at levels beyond what is evident from Babbage's 1837 manuscript.

Hence we feel that, translated into today's terms, her ``Notes'' make at least a great Master's project. The question is, would it be more? Our analogy means to factor out niceties like all this happening 100 years before Turing-complete computers began to be built and programmed. We're trying to map it fairly onto graduate work in computer systems today. So which is it, master's or doctorate?

We see some hints of progression to PhD level. In a long paragraph early in Note A she expands on the semantic categories of the machine. This includes the perceptive distinction:

``First, the symbols of operation are frequently also the symbols of the results of operations.''

In Note E, she develops the structural difference between nested and single iterations. In Note G there is some hint of care about variables being free versus bound in logical sequences. Riding atop all this are her philosophical conclusions and prognostications, some of which Dick discussed and which Alan Turing answered at peer level in his 1950 paper ``Computing Machinery and Intelligence.'' They may be airy but all except the negative one on originality were right, and in our book that counts for a lot.

It is not unusual for a systems PhD to stay within the domain of equipment and topics by which the advisor applied for funding. The criterion for impact should be, did the student amplify the advisor's vision? Did he---or she---find solutions that were not charted in advance? Does the student's work enlarge the advisor's prospects? Could he/she continue to develop the applications? That she and Babbage didn't is most ascribable to lack of external funding and to engineering challenges that are proving tough even for a project today to build the Analytical Engine.

Isaacson's book goes on to cover intricacies faced by female programmers of the ENIAC that were evidently less appreciated by the men on the hardware side. The end of Menabrea's paper reflects the same mode of emphasizing the $latex {+,-,*,/}&fg=000000$ operations in hardware as Babbage's 1837 manuscript. Even as Babbage helped with the complexities of the Bernoulli application in their correspondence, the point is that he did not pre-digest them---and as Isaacson sums up, it's her initials that went on the paper. Isaacson does not say ``amplifier,'' but Maria Popova does in writing about his chapter:

But Ada’s most important contribution came from her role as both a vocal champion of Babbage’s ideas, at a time when society questioned them as ludicrous, and as an amplifier of their potential beyond what Babbage himself had imagined.

Hence to those who say that calling her the world's first programmer is ``nonsense'' we reply ``nuts.'' Along with Autodesk co-founder John Walker, whose Fourmilab website hosts the definitively formatted Web copy of the ``Sketch,'' we feel reading her paper is evidence enough that she was the first to face a wide array of the vicissitudes and significances of programming.

Some Other Updates

We note that last month polished recordings of our talks from last October became available:

Open Problems

How do you regard our terms for assessing Ada Lovelace's contributions?