History's First Computer Programmer was not the Wonderful Ada Lovelace
Our story begins with a man who once held the same prestigious position at Cambridge as Isaac Newton and Stephen Hawking. Charles Babbage, your typical 19th Century genius and polymath, embellished the narrative of his era with futuristic ideas that were practically just out of reach in his time – chief among them, the programmable computer.
Though Babbage’s computer, which he called the Analytical Engine, was purely theoretical, many mathematicians and engineers were able to understand that it could work if it were built. Problems with building the machine, and precursor machines such as the Difference Engine, included funding, personality clashes with his engineer, and the death of his wife and several children over the 11 years he spent trying. So the Analytical Engine never did become a reality for Babbage (though the Difference Engine was eventually built using the original design at The London Science Museum in 2002 and it worked, the Analytical Engine remains to be constructed).
Enter Ada Lovelace, daughter of Lord Byron, the famous romantic poet of England. Ada was a main character on the world’s stage of history. Because of her father’s name, and the publicity surrounding her parents’ separation in her early life, she was famous in Elizabethan society and mingled with many well-known scientists, writers and philosophers of her time – most notably Charles Dickens and Michael Faraday. Ada’s mother was worried that Ada might have inherited some of her father’s madness so she had Ada tutored in mathematics from an early age. It was through one of her tutors, Mary Somerville, in June of 1833, that Ada met Charles Babbage.
Though she was only 18 at the time, and Babbage was a tenured professor at Cambridge, it was very obvious that he was impressed with Ada’s capabilities; he believed her to be one of the only people who understood his work (it didn’t help that much of the scientific community wasn’t interested in Babbage’s design). He even referred to her affectionately as "The Enchantress of Numbers". In 1842, after knowing and corresponding with Ada for 9 years, Babbage offered her a position working with him on the publication of his design.
Ada set to work translating a French paper, written by mathematician and future Italian Prime Minister Luigi Menebrea, on the applications of the Analytical Machine. But she did something else as well – she added notes to the transcript, derived from its contents and combined with her own knowledge of the design. These notes were three times as long as the original paper, and contained the first computer programs that were ever published, including an algorithm for sequencing Bernoulli numbers (the program could predict the probability of a specific outcome in real-world events).
But that’s far from the whole story! Ada Lovelace did indeed make some truly significant contributions and predictions in computer science, but she was not the first computer programmer in history.
Ada referred to herself as, among other things, a "poetic scientist". She thought that science was bereft without creativity, and she strived to always use her imagination. This type of thinking is what lead to her predictions that the Analytical Engine could be used for more than mathematics; Ada recognized that the machine could interact with anything that can be represented by numbers.
It’s very easy to see how musical compositions can be represented by numbers – it’s all just algorithms and sequences anyway, isn’t it? You get this thing talking to a piano, thought Lovelace, and there is no reason it can’t play. Manufacturing and production was a nightmare in those days, but she also recognized that the Engine could have serious applications for the process and could significantly improve efficiency. She even considered that the machine could be able to produce images and graphics one day. Needless to say she was right as you read this article on an electric version of the Analytical Engine.
But did Ada Lovelace actually write the first computer program?
Ada published the aforementioned paper containing the first computer programs, but letters between herself and Babbage seem to suggest that she might not be capable of writing original programs.
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"
It has also been suggested that Lovelace had a lot of help writing her notes, and probably consulted with Babbage for most, if not all of the published work.
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 any way.— Collier, Bruce (1970). The Little Engines That Could've: The Calculating Machines of Charles Babbage
It has even been claimed that Babbage had written all of the algorithms years before Ada was ever commissioned to work with him.
There are several dozen sample programs prepared between 1837 and 1840 (all, incidentally, substantially pre-dating the preparation of Ada Lovelace’s notes, which incorporate several of them).— Bromley, Allan G. (July 1982). "Charles Babbage's Analytical Engine, 1838"
So while Charles Babbage, and not Ada Lovelace, was most likely the first computer programmer in history, one thing that remains clear is that Ada influenced Babbage to think outside of the box, and the one algorithm that appears to have been most influenced by her is also the most significant – the Bernoulli Algorithm.
As mentioned above, the Bernoulli Algorithm deals with real world probabilities and predictions, whereas most of Babbage’s other work deals exclusively with simple number tables and polynomials. This was the “poetic scientist” in Lovelace, and it demonstrates just how well she understood the applications of what, to her, would have been a brand new technology.
It’s also incredibly interesting to note that, in the same section of her notes as the Bernoulli Algorithm, Ada makes room to refute the emerging concept of artificial intelligence.
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.— Lovelace, Ada. (October, 1842). "Sketch of The Analytical Engine"
She would be right, and she may still prove to be right, but she appears to have not considered that we could one day write programs so complex, and design computers so intricate, that we may be able to order our Analytical Engines to not only follow analysis, but to actually anticipate and make sense of those evasive analytical relations and truths. We may just be able to program a computer to think like us – or perhaps completely different. And what about our cars? Do we want a car that will distinguish between race, gender, age, ethnicity, etc?
Regardless of her dismissal of AI and the fact that she may not have written the actual first computer programs, Ada Lovelace certainly did make ground-breaking contributions to computer science and she is rightly commemorated for her accomplishments. The high-level computer language Ada is named after her, and October 13 is recognized as Ada Lovelace Day, whose goal is to “raise the profile of women in science, technology, engineering and maths,” and to “create new role models for girls and women”.