<<

Ada and the First

The collaboration between Ada, countess of Lovelace, and computer pioneer resulted in a landmark publication that described how to program the world’s first computer

by Eugene Eric Kim and Betty Alexandra Toole

eople called Augusta Ada King’s father “mad and bad” for his wild ways, but he was better known as Lord , the poet. Ada inherited her famous father’s P way with words and his zest for life. She was a beautiful, flirtatious woman who hobnobbed with ’s elite and who died at the youthful age of 36, the same age at which her father died. And like Byron, Ada is best known for something she wrote. In 1843 she published an influential set of notes that described Charles Babbage’s An- alytical Engine, the first automatic, general-purpose ever designed. Although the was never built—largely because Babbage could not raise the funds for its construction—Ada’s notes included a program for using it to com- pute a series of figures called Bernoulli numbers [see box on page 78]. Ada’s notes established her importance in , but her fascinating life and lineage—and her role as a female pioneer in a field in which women have always been notoriously underrepresented—have lately turned her into an icon. In addition to numerous biographies, she has inspired plays and novels written by the likes of such lu- minaries as and Arthur C. Clarke. Conceiving Ada, a movie loosely based on her life, was released by Fox Lorber in February. And whereas many women have helped to advance computer science, only Ada has had a computer language named after her; it is used largely for military and aerospace applications. Not surprisingly, Ada’s contributions to computer science have been both embellished and diminished, and her true legacy has elicited controversy among historians in the field. Many people, for instance, incorrectly claim that Ada was the first computer pro- grammer. (Babbage, not Ada, wrote the first programs for his Analytical Engine, al- though most were never published.) Others unfairly challenge Ada’s authorship of the program included in the notes and even of the notes themselves. As with most things, the truth lies somewhere in the middle. Babbage characterized Ada’s contributions best when he referred to her as his “interpretress.” He did discuss the notes with Ada and reviewed early drafts, but there can be no question that she her- self was the author. And whereas Babbage’s groundbreaking work formed the basis of Ada’s notes and her thinking, her lucid writing revealed unique insight into the significance and the many possibilities of the Analytical Engine.

A Young Mathematician

ugusta Ada Byron was born on December 10, 1815, in London; she was the daughter A of and his wife of 11 months, mathematician Annabella Milbanke. By the time Ada was born, Annabella already had reservations about her marriage to By- ron. Rumors, most likely started by Annabella’s cousin, Caroline Lamb, were circulat- ing that Byron had had an affair with his half-sister, giving Annabella the excuse to sep- arate from him. Byron left England in April 1816, never to see his daughter again. raised Ada to be a mathematician and a scientist and discouraged her liter- ary leanings, in part to distance her from her father. Ada received an excellent education: she was tutored in mathematics by , a prominent scientist best known for

76 Scientific American May 1999

Copyright 1999 Scientific American, Inc. ONDON , L Y ODUCED BY KIND AR TION, REPR A ORPOR Y C OR TUT A TESY OF SCIENCE MUSEUM LIBR OUR OUND C GR CK A VED; B : © THE POST OFFICE—A BRITISH ST

ADA LOVELACE sat S RESER for this portrait by A. E. AMP Chalôn around 1838, several years after she first met Charles , ALL RIGHT Babbage, the designer of the world’s first computer. The inset shows a stamp re- leased in 1991 by the British postal service to commemorate the 200th anniversary of Babbage’s birth. The background depicts pro- TESY OF THE BRITISH MUSEUM; ST gramming ideas sketched by Babbage. Ada OUR AIT C

later extended his proposals. TR ERMISSION OF THE BRITISH POST OFFICE POR P

Scientific American May 1999 77

Copyright 1999 Scientific American, Inc. her translations of the works of French young people—and especially young ical Computer,” by Doron D. Swade; mathematician and physicist Pierre- women—remained poor. Nevertheless, Scientific American, February 1993]. Simon Laplace, and by logician and under De Morgan’s tutelage, Ada be- She was captivated. For the next several mathematician . came well schooled in the principles of years, she followed the development of Ada’s mathematical education was algebra, and calculus. the closely, reading unusual at the time, even for someone On June 5, 1833, 17-year-old Ada at- the few published articles on the engine of noble lineage. While mathematics tended a party where she met Babbage, and discussing it with Babbage. flourished in continental Europe in the a 41-year-old widower who was as well Babbage devised the Difference En- first half of the 19th century, British known for his political activism and his gine as a machine that would generate mathematics was floundering. Mathe- outrageous ideas as for his work in math- mathematical tables, automating the maticians De Morgan, ematics and economics. A few weeks “mechanical” steps of calculation. Al- and their college friend Charles Bab- after the meeting, Babbage showed Ada though it was efficient, it was limited bage were helping to rejuvenate British his partially completed Difference En- computationally. It could perform only mathematics during Ada’s youth, but gine, an early calculating machine [see addition and subtraction and solve a se- the state of mathematical education for “Redeeming Charles Babbage’s Mechan- ries of equations (such as 0 = a + bx + cx2 + dx3...). Babbage, however, had already start- ed thinking about bigger and better Bernoulli Numbers things. As their friendship deepened, he began outlining to Ada a new machine he Bernoulli numbers are found in the polynomial expansion of some he was designing, one that would be sig- Ttrigonometric functions that were once employed for constructing naviga- nificantly more advanced than the Dif- tional tables, among other uses. They are defined as the constant Bn in the poly- ference Engine. He called it the Analyt- nomial expansion of the expression: ical Engine and spent the remaining 38 n years of his life refining the plans for it. x = ∑ B x e x – 1 n n ! n ≥ 0 Working with Babbage For her program, Ada simplified this expression to: ccording to Babbage’s designs, the 1 (2x –1) 2x (2x) (2x –1) (2x –2) Analytical Engine would have none 0= – + B1 + B2 + A 2 (2x+1) 2! 4! of the restrictions of the Difference En- gine. Devised to solve general compu- (2x) (2x–1) (2x –2) (2x –3) (2x –4) B + tational problems, it would possess an 3 6! architecture remarkably similar to that of today’s modern , consist- (2x) (2x –1) … (2x –2n +2) ing of a “store” (memory), a “mill” … + Bn (2n)! (, or CPU) and a punched-card reader (input device). To calculate Bn from this expression, start by letting x = 1. Notice that the fraction Babbage intended to rely on punched next to B1 becomes 1 and that the fractions next to B2, B3 and so on all equal 0, be- cards for programming input (an cause each numerator contains the factor (2x –2), which is 0 when x = 1. This leaves: idea borrowed from the Jacquard loom, 1 1 which wove patterns automatically by 0 = ( – × )+ B 2 3 1 using such cards). The engine’s output would take the form of a printed page So B = 1⁄ . Now, if you let x = 2, the fraction next to B becomes 1, because both 1 6 2 or punched cards. The Analytical En- the numerator and the denominator are equal to 4! (4 × 3 × 2 × 1), and the frac- gine would perform addition, subtrac- tions next to B , B and so on all equal 0, because each numerator contains the 3 4 tion, multiplication and division. It factor (2x –4), which is 0 when x = 2. The substituted expression is: would be able to execute or repeat a set 0 = (– 1 × 3 ) + (B × 2) + B of instructions based on certain condi- 2 5 1 2 tions (“if x, then y”), a central concept in modern computer science known as You already know the value of B1 from the previous substitution, so you can eas- 1 1 1 1 1 5 conditional branching. ily see that B2 = – ⁄30. The first five Bernoulli numbers are ⁄6, – ⁄30, ⁄42, – ⁄30 and ⁄66. For various reasons, the indices Ada used in her program were all odd numbers: In 1840 Babbage made his first and only public presentation on the Analyt- B1, B3, B5 and so on, as opposed to B1, B2, B3 and so on. Computing each one at a time constituted the outer loop of the program, to use modern ical Engine to a group of mathemati- parlance. To compute the fractional value next to each cians and engineers in Turin, . Bernoulli number, Ada used a second loop. She started by dividing the first factor Among those attending was a young of the numerator by the first factor of the denominator and storing that value. She mathematician named Luigi Federico then divided the second factor of the numerator by the second factor of the de- Menabrea (Italy’s future prime minis- nominator and multiplied that value by the previously stored value. These steps ter), who took notes at the meeting and, were repeated until the value of the fraction was completely calculated, at which with some additional notes from Bab- point it was multiplied by the appropriate Bernoulli number. —E.E.K. and B.A.T. bage, published a paper in French enti- tled “Sketch of the Analytical Engine.”

78 Scientific American May 1999 Ada and the First Computer

Copyright 1999 Scientific American, Inc. Ada’s Scheme for Computing the Bernoulli Numbers

1 × da’s program for computing B7, the fourth Bernoulli num- The first six operations calculate ( ⁄2) (2n–1) / (2n + 1) and A ber, is shown. The first six columns demonstrate the vari- store the value in V13. Operation 7 subtracts 1 from n and assigns ous operations that would be performed by the Analytical En- it to V10 because the first iteration is complete. Operations 8, 9 gine, and the remaining columns represent the values of each of and 10 calculate 2n/2 and multiply it by B1, which was calculated the variables. Each row represents a single operation. earlier and stored in V21; they store the value in V12. Operation 11 When the program begins, there are six variables in use: V1, V2, takes V12 and adds it to V13, and operation 12 subtracts 2 from n V3, V21, V22 and V23 [see shaded boxes]. (The superscripts in the and stores that value in V10, because the second iteration is com- chart indicate the number of times the variable has been used.) plete. Operations 13 through 21 calculate the next value and The values of these variables are 1, 2, n (which in this case is 4, be- multiply it by B5. cause Ada is calculating B7, the fourth Bernoulli number), B1, B3 One flaw in Ada’s program is that she does not use a variable and B5. V10 is used to store the number of iterations left to per- to keep track of each iteration while calculating the fractional form. At the first iteration, V10 is equal to n –1, at the second itera- values, as she does with V10 when she computes the product of tion, V10 is equal to n –2, and so on. When V10 equals 1, the loop the fractions by the previous Bernoulli numbers. Also, note a bug stops, and the program is finished computing the Bernoulli in Ada’s program in Operation 21, where the third factor of the number. denominator should be 4, not 3. —E.E.K. and B.A.T. OL. III, 1843 OR, V YL A EDITED BY RICHARD T SCIENTIFIC MEMOIRS. OM REPRINTED FR

Menabrea focused his attention pri- wrote, “are merely a translation of alge- With that suggestion began a major marily on the mathematical underpin- braical formulae, or, to express it better, collaboration that resulted in Ada’s nings of both the Difference and Analyt- another form of analytical notation.” publishing the first paper to discuss the ical Engines rather than on their under- Ada—who had since married William programming of a computer at great lying mechanical operations. Menabrea King, the , and become length; it was to be the only such paper outlined the purpose of the various com- the countess of Lovelace—read Mena- in existence for the next century. She in- ponents of the Analytical Engine and brea’s paper and began translating it cluded seven notes in all (A through G), recognized that it would be able to into English. Babbage had remained which combined are more than twice as compute any algebraic formula proper- a good friend of Ada’s, and on hearing long as Menabrea’s original article. An ly expressed (or programmed) on the of her work in early 1843, he encour- important theme was the significance of punched cards. “The cards,” Menabrea aged her to annotate the translation. the Analytical Engine’s ability to be pro-

Ada and the First Computer Scientific American May 1999 79

Copyright 1999 Scientific American, Inc. grammed using the Jacquard punched fied in her publication. cards. “The distinctive characteristic of Ada ends her notes the Analytical Engine,” wrote Ada, with her program for “...is the introduction into it of the computing Bernoulli principle which Jacquard devised for numbers. Swiss mathe- regulating, by means of punched cards, matician Jakob Ber- the most complicated patterns in the noulli wrote about his fabrication of brocaded stuffs.... We numbers in a classic say most aptly that the Analytical En- book about probabili- gine weaves algebraical patterns just as ty, Ars conjectandi (The the Jacquard-loom weaves flowers and Art of Conjecture), first leaves.” Cards were a particularly clever published in 1713. ONDON L solution for weaving cloth—or for per- Ada’s program for de- , Y forming calculations—because they al- riving Bernoulli num- AR lowed any desired pattern—or equa- bers demonstrated the tion—to be generated automatically. Analytical Engine’s con- Ada went on to elaborate greatly on ditional branching ca- Menabrea’s descriptions and to exam- pability and used two SCIENCE MUSEUM LIBR ine the gritty details of programming loops. It was far more the Analytical Engine. For example, she ambitious and com- BABBAGE’S ANALYTICAL ENGINE was never com- emphasized the computational impor- plex than any program pleted, but a portion (above) consisting of part of the mill tance of the engine’s ability to branch to Babbage had written (CPU) and the printing devices was assembled shortly be- different instructions based on certain for the Engine. fore his death in 1871. The engine would have been pro- conditions, and she drew the distinction All that historians grammed using punched cards, an idea borrowed from the between what was theoretically possi- know regarding Ada’s Jacquard loom for weaving patterned cloth (right). ble to compute and what was, in reali- work comes from cor- ty, impractical. Ada also wrote about respondence between Ada and Bab- her notes a preface complaining about the benefits of the Analytical Engine’s bage, Babbage’s notebooks and autobi- the British government’s lack of sup- ability to reuse code. In addition, in de- ography, and Ada’s notes themselves, port for his Analytical Engine. Ada was scribing the symbolic processing pow- which were published in Richard Tay- furious and sent him an angry letter. ers of the engine, she wrote of its poten- lor’s Scientific Memoirs. Of the letters They eventually resolved their differ- tial to compose music: “Supposing, for between Ada and Babbage that have ences, and Babbage’s preface was pub- instance, that the fundamental relations survived, most were written by Ada. lished separately and anonymously. of pitched sounds in the science of har- Sadly, Ada’s own notebook is lost; it In a letter to Babbage dated July 1843, mony and of musical composition were could have answered many questions Ada wrote, “I want to put in something susceptible of such expression and about her path of understanding. about Bernoulli’s Numbers, in one of adaptations, the engine might compose my Notes, as an example of how an im- elaborate and scientific pieces of music Babbage and the Notes plicit function may be worked out by of any degree of complexity or extent.” the engine, without having been worked Finally, Ada debunked the notion that da compiled her notes between Feb- out by human head & hands first. Give the engine was “thinking” in the ways A ruary and September 1843 and dis- me the necessary data & formulae.” that humans think. “The Analytical En- cussed her progress often with Babbage (Ada had studied Bernoulli numbers gine has no pretensions whatever to during this period, both through letters with De Morgan two years before but originate anything,” she asserted. “It and face-to-face. Although she relied on apparently needed to refresh her memo- can do whatever we know how to or- Babbage to explain the inner workings ry of the formula for generating them.) der it to perform.” Over a century later of his machine and to confirm the accu- From this letter, two things are clear. Alan M. Turing made her sentiment fa- racy of her descriptions, Ada often as- First, including a program that comput- mous in a landmark lecture on artificial tonished Babbage with her insights. On ed Bernoulli numbers was Ada’s idea. intelligence, dubbing it “Lady Lovelace’s reading a draft of Note A, for example, Second, Babbage at the very least pro- Objection.” Babbage responded, “I am very reluc- vided the formulas for calculating The remainder of Ada’s notes were tant to return your admirable & philo- Bernoulli numbers, a fact he confirmed devoted to the mechanics of program- sophic Note A. Pray do not alter it. . . . 21 years later in his autobiography, Pas- ming the Analytical Engine, including a All this was impossible for you to know sages from the Life of a Philosopher. description of the punched-card mecha- by intuition and the more I read your We cannot know for certain the ex- nism and of the notation for writing notes the more surprised I am at them tent to which Babbage helped Ada on programs. If, as Menabrea had stated and regret not having earlier explored the Bernoulli numbers program. She in his article and Ada had reaffirmed, so rich a vein of the noblest metal.” was certainly capable of writing the the punched cards merely expressed an Ada sought Babbage’s opinions and program herself given the proper for- algebraic formula, then there had to be was open to suggestions regarding con- mula; this is clear from her depth of un- a rigorous notation for expressing the tent; she resisted any changes to her derstanding regarding the process of formula on the punched cards. Bab- prose, however. In August 1843, a programming and from her improve- bage had adopted a tabular format for month before the final proofs went to ments on Babbage’s programming no- expressing programs, which Ada modi- the printer, Babbage tried to insert into tation. Additionally, letters between

80 Scientific American May 1999 Ada and the First Computer

Copyright 1999 Scientific American, Inc. ematician who was not capable of after 1843, limiting her ability to prac- writing the Bernoulli numbers tice mathematics. She died on Novem- program herself, an idea that has ber 27, 1852, probably of uterine can- since been expressed by others. cer. At her request, she was buried next Stein’s conclusion is based pri- to her father. Her work remained rela- marily on two pieces of evidence. tively obscure until 1953, when Ber- First, she points out a mathemati- tram V. Bowden compiled Faster than cal error in Ada’s translation of Thought, a history of computers that Menabrea, in which she translated mentioned Ada’s work and called her a a French typo into an impossible “prophet.” mathematical statement. Mena- Many modern computer pioneers brea’s original paper read “le cos. eventually became aware of Babbage’s de n = ∞,” when it should have work and of Ada’s paper, but all of read “le cas de n = ∞.” The prop- them made their conceptual break- er translation would have been throughs independently. Howard Aiken, “in the case of n = ∞,” but Ada the professor who translated the statement literally designed and built the Mark I in 1944, to “when the cos n = ∞,” a math- liked to consider himself a direct suc- ematical impossibility. cessor of Babbage. He was not familiar Second, Stein quotes letters be- with Ada’s work, however, and failed tween Ada and her tutors that to realize the importance of conditional show that Ada had difficulty with branching. MANN T functional substitution (proving What we now know about designing an equation by substituting a and programming computers may not ORBIS-BET C function with its identity). Stein be directly traceable to Babbage and writes, “The evidence of the tenu- Ada, but they can claim precedence for Babbage and Ada at the time seem to ousness with which she grasped the many of these concepts. And Ada in indicate that Babbage’s contributions subject of mathematics would be diffi- particular has become a figure whose were limited to the mathematical for- cult to credit about one who succeeded life and work still stir the imagination mula and that Ada created the program in gaining a contemporary and posthu- of many computer scientists today. S herself. While she was working on the mous reputation as a mathematical tal- program, Ada wrote to Babbage, “I ent, if there were not so much of it.” have worked incessantly, & most suc- Ada indeed mistakenly translated cessfully, all day. You will admire the one of Menabrea’s statements, but it The Authors Table & Diagram extremely. They have cannot be fairly attributed to mathe- EUGENE ERIC KIM and BETTY ALEX- been made out with extreme care, & all matical incompetence. It was not the ANDRA TOOLE both became interested in the indices most minutely & scrupu- only mistake in her article; Ada even while working on their under- lously attended to.” miswrote her initials on her final note graduate and graduate theses, respectively. The importance of Ada’s choosing to as “A.L.L.” instead of “A.A.L.” Her 65 Kim is technical editor at Dr. Dobb’s Journal write this program cannot be overstat- pages of translation and annotations in San Mateo, Calif. He is the author of CGI Developer’s Guide and of an upcoming ed. Babbage had written several small were peer-reviewed by Babbage and book on the history of free . He programs for the Analytical Engine in others, who also overlooked the errors. holds a bachelor’s degree in history and sci- his notebook in 1836 and 1837, but Stein’s charge that Ada did not un- ence from Harvard University. Toole re- none of them approached the complex- derstand functional substitution is ceived both her B.A. and Ed.D. from the ity of the Bernoulli numbers program. more serious, because it is a vital con- University of California, Berkeley, where she Because of her earlier tutelage, Ada was cept for computer . It is specialized in history of science and the inte- at least familiar with the numbers’ crucial to remember, however, that al- gration of technology into education. She is the author of Ada, the Enchantress of Num- properties. It is possible that Ada recog- gebra was cutting-edge mathematics in bers: A Selection from the Letters of Lord nized that a Bernoulli numbers pro- England at the time and that Ada was Byron’s Daughter and Her Description of gram would nicely demonstrate some learning via correspondence. Recogniz- the First Computer and of the abridged, pa- of the Analytical Engine’s key features, ing that her tutors were helping her for perback version, Ada, the Enchantress of such as conditional branching. Also, free, Ada was more likely to write to Numbers: Prophet of the Computer Age. because Menabrea had alluded to the them about matters she did not under- Toole is a consultant and an adjunct profes- sor of computer science at Dominican Col- Bernoulli numbers in his article, Ada’s stand than about concepts she had al- lege in San Rafael, Calif. program tied in nicely with her transla- ready grasped. The level of mathemati- tion of Menabrea. cal sophistication in her late letters Further Reading Finally, any discussion of Ada’s work shows that despite the fact that Ada would not be complete without men- may have had trouble with functional The Mathematical Work of Charles tioning Dorothy Stein of the University substitution before she began working Babbage. J. M. Dubbey. Univer- of London, perhaps Ada’s most outspo- on her notes, she most likely under- sity Press, 1978. Charles Babbage: Pioneer of the Com- ken critic, who wrote Ada: A Life and a stood it when she began writing them. puter. Anthony Hyman. Princeton Uni- Legacy in 1985. One of Stein’s assertions Ada’s health, which was poor on and versity Press, 1982. was that Ada was an incompetent math- off throughout her life, declined further

Ada and the First Computer Scientific American May 1999 81

Copyright 1999 Scientific American, Inc.