Bitwise is a podcast about the history of computer science, software development, and an examination of the implications of an increasingly digital world.

#004 |  Babbage, Lovelace, and the Analytical Engine (Part 2)

#004 | Babbage, Lovelace, and the Analytical Engine (Part 2)

In this episode, we continue our investigation into the Analytical Engine with a brief exploration of “the first computer programmer,” Ada Lovelace.

Check out Ada’s translation (and, more interestingly, her annotations) of a paper about the Analytical Engine by L. F. Menabrea here: https://www.fourmilab.ch/babbage/sketch.html

This week’s recommended book:

Mentioned in this episode: Broad Band: The Untold Story of the Women Who Made the Internet, by Claire L. Evans. The image above links to this book on Amazon.


Episode Transcription

Hi, This is Wes Doyle. Welcome back to another episode of the Bitwise Podcast, where we explore the history of computer science, the discipline of software development, and the implications of an increasingly digital world. I decided to break up this episode into two parts - so this week, we'll be continuing our discussion about Ada Lovelace. I feel that the 15-20 minute length is a good format for the podcast, at least while we're covering history. Definitely feel free to reach out to me if you'd prefer longer episodes, or if you'd like to cover any area of history in particular as we move forward. As you might imagine, as we move into the mid-20th century, the number of significant events and entities in this history picks up dramatically. So again, if there's anything in particular you'd like to hear covered, just reach out via bitwisepodcast.com.

In the last episode, we explored the work of Charles Babbage as it relates to the origins of the computer, notably his two projects - the Difference Engine and the Analytical Engine, and particularly how the letter marked the first design in history of the general purpose computer that was - in a sense - Turing complete, as it was designed to handle conditional branching and even had a rudimentary form of integrated memory. When we left off, we just covered the fact that Lord Byron was the father of another prominent figure in the history of computer science: Ada Lovelace. Ada was tutored by famed polymath, Mary Somerville, who introduced her to Charles Babbage. She became very interested in the Analytical Engine, as we'll see in this episode, and the following audio was recorded during the recording of Part 1 of this episode. So we'll go ahead and jump back into that exploration now.

Ada Lovelace was born in December of 1815. Her mother, Annabella Milbanke, was left by Byron to raise Ada on her own. She felt strongly that Ada should be raised with a strong education and mathematics in the natural sciences, if anything, to try and avoid stoking any potential interest in things like poetry or the arts - inclinations that may have been inherited from her father. In fact, Ada never met her father and likely didn't know about him much as a child. He died in Greece when she was nine years old. She demonstrated strong abilities in math at a young age. In fact, one of her tutors was Augustus De Morgan, an English logician who formalized De Morgans laws and was influenced by George Boole’s work. De Morgan and Lovelace corresponded throughout her mathematical education, and it's interesting to read their correspondence. It's it's published and available online. You can actually see the different mathematical problems that Ada Lovelace was working out as she was learning things like algebra and calculus. When Lovelace was seventeen, she and her mother visited Charles Babbage to view his Difference Engine, which was, of course, unfinished unless he demonstrated working piece of the machine to Ada, who was enamored by it. And she went on to marry and have three children and often corresponded with Babbage.

As mentioned, Babbage’s project was long-running due to its complexity, and her interest in the Difference Engine remained. By 1840, Babbage was already obsessed by his work on the design of the Analytical Engine. He was invited to Turin to give a lecture on the device. Attending this lecture was the engineer Luigi Federico Menabrea, who used his notes from Babbage’s lecture to write a paper for a Swiss journal. The paper was originally in French, but the title is Elements of Charles Babbage’s Analytical Machine. Ada Lovelace actually came across a copy of this paper and translated it from French into English. She corresponded with Babbage about the paper and wrote a very lengthy set of notes as an appendix to the translation. These notes are really the most interesting part of the translation for me. They illustrate not only how skilled Ada was from a technical standpoint, but also just how insightful she was in her vision of a frontier that was still more than a century to come there are a few sections from eight his notes worth reading here. They're often quoted, and again you can find a copy of them online. I'll try to post a link on the podcast website. Ada writes:

Again, it [the Analytical Engine] might act upon other things besides number, were objects found whose mutual fundamental relations could be expressed by those of the abstract science of operations, and which should be also susceptible of adaptations to the action of the operating notation and mechanism of the engine . . . Supposing, for instance, that the fundamental relations of pitched sounds in the science of harmony and of musical composition were susceptible of such expression and adaptations, the engine might compose elaborate and scientific pieces of music of any degree of complexity or extent.

So we can see - and I think this is extremely remarkable - we can see Ada making this jump from this sort of steam powered enormous a mechanical device - which to the bystander may just look like basically a steam engine - to something that's actually able to compose music. Supposing that we have some way to represent the concepts of harmony in a language, if you will, that the machine might be able to work with. So it seems clear that Ada was thinking and a very high level of abstraction, if you will, about the usefulness of this analytical engine. She goes on to write from Note A:

The distinctive characteristic of the Analytical Engine, and that which has rendered it possible to endow mechanism with such extensive faculties as bid fair to make this engine the executive right-hand of abstract algebra, is the introduction into it of the principle which Jacquard devised for regulating, by means of punched cards, the most complicated patterns in the fabrication of brocaded stuffs. It is in this that the distinction between the two engines lies. Nothing of the sort exists in the Difference Engine. We may say most aptly that the Analytical Engine weaves algebraical patterns just as the Jacquard-loom weaves flowers and leaves.

So it does seem that it was again really thinking at a very high level here about the potential uses for the Analytical Engine in the long term. In other parts of her notes, she talks about how we might just come up with sort of equations, if you will, for the Analytical Engine to solve just for our own amusement. In fact, among her notes, Lovelace published a method for calculating this sequence of Bernoulli numbers with the Analytical Engine. I'll read from one final section of her notes - It's pretty interesting. She kind of thinks about how people might extrapolate this idea of the Analytical Engine being able to compute all of these sort of abstract ideas. And she sort of wards off the thought that this that this machine might have any sort of autonomous intelligence. She writes:

It is desirable to guard against the possibility of exaggerated ideas that might arise as to the powers of the Analytical Engine. In considering any new subject, there is frequently a tendency, first, to overrate what we find to be already interesting or remarkable; and, secondly, by a sort of natural reaction, to undervalue the true state of the case, when we do discover that our notions have surpassed those that were really tenable.

The Analytical Engine has no pretensions whatever to originate anything. It can do whatever we know how to order it to perform. It can follow analysis; but it has no power of anticipating any analytical relations or truths. Its province is to assist us in making available what we are already acquainted with.

Ada passed away when she was just 36 years old of cancer, and she was buried by her own insistence and possibly to the dissatisfaction of her mother next to Lord Byron in a small church near his estate.

The programming language Ada is named after Ada Lovelace and was designed by French computer scientist Jean Ichbiah. Originally, the language was called Green and was submitted to a competition to choose the embedded systems language for use by the US Department of Defense. The Ada language has subsequently been used in a wide variety of applications, including avionics, various tool chains, and web servers.

So, just for fun, I recently took a look at the current standings in the TIOBE Index, which is a sort of a measure of how popular programming languages are. Currently, I think this is updated every month and it's it's maintained by a company out of the Netherlands. In any case, it is interesting to take a look at what they rank as being sort of the most popular languages at a given time. I was actually surprised to see that Ada was ranked above other languages, which I would have expected to have been more popular, including Haskell, Scheme, Bash, Clojure, and Erlang. So it must be the case that the Ada language is still holding its own in some industries.

And, in fact, if you take a look at trending on GitHub, you can actually sort by language, and you can find the Ada language there. And, in fact, you'll see many repositories where Ada is the primary language used - so just kind of a fun side note there.

I would definitely encourage you, if you're at all interested in this history, to go check out Ada Lovelace’s notes in the annotated translation of the essay written about the analytical engine. The language that she uses in her annotations is definitely very Victorian, and a little dense, maybe kind of difficult to get through it first. But if you read through it, it's it's super fascinating. Just to see how insightful she was in really anticipating, you know, what would happen in computing over a century after she existed.

Okay, that wraps up this episode. I hope you're enjoying the podcast so far. Definitely check out Claire Evan’s book Broad Band: The Untold Story of the Women who Made the Internet. I'll be sure to post a link to it on the website. I’ll also provide links to where you can read more about Ada Lovelace, including a link to the full text of her translation and annotations.

In the next episode, we'll talk about the work of George Boole and his Boolean algebra, and then shortly thereafter will begin moving into the twentieth century, where people like Vannevar Bush, Kurt Gödel, Alonzo Church, and Alan Turing really start laying the foundations for modern computer science. So thanks for listening, and I'll catch you next time.

#005 |  George Boole

#005 | George Boole

#003 |  Babbage, Lovelace, and the Analytical Engine (Part 1)

#003 | Babbage, Lovelace, and the Analytical Engine (Part 1)