Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Ada’s legacy : cultures of computing from the Victorian to the digital age
Hammerman R., Russell A., Association for Computing Machinery and Morgan & Claypool, New York, NY, 2015. 262 pp. Type: Book (978-1-970001-48-8)
Date Reviewed: May 25 2017

A record and celebration of a 2013 conference exploring the legacy of Augusta Ada Lovelace, this collection of 12 chapters includes Lovelace’s published writing on Charles Babbage’s Analytical Engine (AE), called “the Sketch,” and several investigations of the significance and influence of her contributions to computing, mathematics, and science, as well as of tributes to her in popular culture, especially in steampunk fiction.

The chapters are varied in academic flavor, turgidity, passion, and fancifulness. This wide spectrum makes for enjoyable reading of a collection bent on scholarship.

In addition, the book’s sections are introduced with illustrations created by Sydney Padua, the author of the insightful, piercing, and hilarious graphic novel [1]. Padua emphasizes Lovelace’s innovation and inspiration.

Chapter 3 consists of “Sketch of the Analytical Engine invented by Charles Babbage, Esq.” verbatim, taking 73 pages of 250, nearly 30 percent spent on material in the public domain [2] and searchable. At least the page references in that chapter refer to the book’s own page numbers. Elsewhere in the book, the Sketch page numbers refer to the original. Very proper, but a pain to find anything. Also, page 152 (footnote 54) and page 166 (footnote 137) refer to Sketch page 967, meaning 697.

The main advantage of having the Sketch at hand is to read Lovelace’s notes and hear her voice. Her passionate creativity is unmistakable. For all these reasons, the book is worth reading. Here is an argument to take Lovelace, the book, and her legacy more seriously.

Many chapters refer to Lovelace as the first computer programmer, and Aurora notes that she was the first published open-source programmer. But was AE a computer? Cunningham (page 205, line 5) goes so far as to call it “the first fully automatic and universal computer,” but offers no justification or explanation. In my opinion, Lovelace and this book both gain credibility, even profundity, when it is seen that AE is in fact universal, in the sense of being computationally equivalent to a universal Turing machine. This was proved by Leif J. Harcke in his pre-publication article [2]. He does this by using native AE code [3] to simulate a small universal Turing machine. AE is therefore a general-purpose computer, and certainly the first (well, first specified, and that fairly concretely). In passing, he shows that the earlier Elgot-Robinson analysis [4] applied to AE is incomplete, that indeed their benchmark summation of N values can be calculated using a fixed program. For this and other calculations, the author utilizes the number cards provided by Babbage, a means of employing external memory. Thus AE joins the Zuse, Aiken, and Colossus machines as being universal, yet enjoys a more powerful and streamlined programming architecture. One novel (and possibly suspicious) feature is the need for an attendant to act as a librarian of card streams. But we are accustomed to our machines requiring operators. In fact, an error in loading the AE is announced to the attendant by the machine's ringing a loud bell, a step beyond the blue screen of death.

There is a problem in Harcke’s presentation with leaving the Turing machine tape image as sequentially addressable, because then the tape is necessarily finite by architecture. On the other hand, even with the off-chance AE ability to punch all three types of auxiliary cards, the problem is not solved because of other technicalities. So I came to the only apparent solution, accepted by Harcke: virtual memory and paging. Because the tape access is always by one card/address up or down from the current address, it is unambiguous to have a page fault when maxint or 10k (and zero) is reached, and to start a new page with fresh memory space. Of course, this involves operator collusion, but is this any real departure from the operator substituting a newly punched number card for an old one with the same key? (Note that the machine cannot distinguish a new card from old, and similarly could not distinguish a fresh page from used; that is, the machine is no more or less clueless with the addition of paging.) There remains the code to take care of wrapping the address space when maxint (or even, say, ten) or zero is reached. That is not difficult. No particular signal need be given to the operator--she just stays sequential--but it might be fun to announce the page fault to her, by punching a laced card or ringing that bell.

Of course, Lovelace is credited with the programming, not with the architecture of the first specified universal computer--that belongs solely to Charles Babbage, although it is tempting to speculate that Lovelace had some influence on the machine. Of course, neither Lovelace nor Babbage could speculate on universality, but Lovelace did make claims in the notes that some compare to Turing’s visionary projections.

There are some oddities worth listing.

  • Page 18, line 21: there is confusion sown between solving a polynomial equation and evaluating a polynomial expression.
  • Page 22, line 6: with the notation following De Morgan, neither is clear. “For the value of Bn (n =7)” should have n = 8 (and the same for De Morgan, and on page 308, not 307).
  • Page 22, footnote 36: “a notation for expressing how its computations might be expressed” is not very expressive.
  • Page 97 on: Lovelace expresses the Bernoulli numbers so that even subscripts have value zero, instead of the current (and De Morgan) odd subscripts (greater than one). Nothing wrong with that, but beware.
  • Page 147, line 24: “she signed herself only A. L. L.”--this is not the practice in chapter 3 and [4], but it may be the source of a comment that even her initials were wrong in the original.
  • Page 163, line 1: “the Difference Engine”--clearly this should be AE, as attested in footnote 120.
  • Page 171, line 12: the “mid-29th” century is historical hyperbole.
  • Page 197, footnote 76: What might Sussman have said, had he said it about AE instead of DE?
Reviewer:  Benjamin Wells Review #: CR145301 (1708-0524)
1) Padua, S. The thrilling adventures of Lovelace and Babbage. Pantheon Books, New York, NY, 2015.
2) Menabrea, L. F. Sketch of the Analytical Engine, invented by Charles Babbage. https://www.fourmilab.ch/babbage/sketch.html. Accessed 05/24/2017 2015.
3) Harcke, L. J. Number cards and the Analytical Engine, manuscript, 2004, 19 pp.
4) Bromley, A. G. Babbage’s Analytical Engine plans 28 and 28a – the programmer’s interface. Annals of the History of Computing 22, 4(2000), 5–19.
5) Elgot, C. C.; Robinson, A. Random-access stored-program machines: an approach to programming languages. Journal of the ACM 11, 4(1964), 365–399.
Bookmark and Share
  Reviewer Selected
Featured Reviewer
 
 
Ada Lovelace (K.2 ... )
 
 
Ada Lovelace (A.0 ... )
 
 
History of Computing (K.2 )
 
Would you recommend this review?
yes
no
Other reviews under "Ada Lovelace": Date
Ada’s legacy: cultures of computing from the victorian to the digital age
Hammerman R., Russell A., Association for Computing Machinery and Morgan & Claypool, New York, NY, 2015.  243, Type: Book
May 13 2016

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy