Home » Ada Lovelace Wrote the First Computer Program
Ada Lovelace Wrote the First Computer Program
myth
Researched by Thomas DeMichelePublished - October 13, 2015 Last Updated - September 7, 2018
Was Ada Lovelace the First Computer Programer? Who Wrote the First Computer Program?
British mathematician Ada Lovelace can be considered the mother of computer programing, as she wrote the first complex algorithm meant to be carried out by a machine. However, it is a myth that Ada Lovelace wrote “the first computer program” or was “the first computer programmer,” that title belongs to “the father of the Computer” Charles Babbage (who himself built off the work of Pascal, Leibnitz, and Müller, just as Turing would build of all their work later to help create the first digital computers).[1][2][3]
Calculating Ada: the Countess of Computing. A clip from a documentary by the BBC which accounts for Ada’s actual role in computing as well as the research of Doron Swade a computer historian whose focus is Babbage, and who showed that Babbage technically wrote the first computer program.
FACT: The ancient Greek device, the Antikythera mechanism (circa 200 – 100 BC), is generally considered to be the world’s oldest known mechanical analog computer. The history of non-digital computing stretches back far beyond Lovelace and Babbage, but modern computing starts with them… on-paper at least.
All three also worked with others including Babbage’s assistants and a group of Italians, who history doesn’t always name.
“I confirm that the manuscript evidence clearly shows that Babbage wrote ‘programs’ for his Analytical Engine in 1836-7 i.e. 6-7 years before the publication of Lovelace’s article in 1843. There are about 24 of such ‘programs’ and they have the identical features of the Lovelace’s famous ‘program’”. – Computer historian Doron Swade reflecting on his studying of Babbage’s code, as quoted in the article Ada Lovelace: Original and Visionary, but No Programmer.
TIP: It would be years before anyone built a working Babbage machine or could test the code, but today we can confirm Ada’s complex code was flawless and can accurately calculate Bernoulli Numbers, and likewise Babbage’s machines work in practice (although we can’t always say the same for his code).
Addressing the Ada Lovelace Myth
Today it is common to claim that Ada was “the first programmer”, or “Ada wrote the first line of code” due to the complexity of her code, the accessibility of her code over Babbage’s own code (her code is famous and featured in an image below, his is “confirmed by manuscript evidence”), and almost most importantly her vision of the the Engine as more than just a fancy calculator.
However, the fact that she didn’t actually write the first code means those who claim her as “the first computer programmer” are offering an overly simple account of the otherwise very important and interesting story of Ada, Countess of Lovelace, Daughter of Lord Byron, mother of computer programming and “poetical science“, and one of the first to state that a computer could be used to do more than just crunch numbers (she mused on the idea that it could create anything we know how to order it to preform from music to art).
TIP: A hundred years later when Alan Turing asked “can machines think?” he didn’t cite Babbage (although he does discuss him in the paper), he instead cited “Lady Lovelace’s Objection”. Her objection represents the bridge between Babbage’s view of his machines as a “high-powered calculators” and Turing’s view of them as being able to “think”, as she postulated that they could be used for much more than just mathematics, but was limited to doing “whatever we know how to order it to perform”.[8]
Can a computer program think? Can machines think. Turing would say yes, Ada had assumed the answer was no.
Comparing the Programs of Lovelace and Babbage
As noted above, Ada Lovelace wrote one of the first computer programs in 1842, but her mentor Charles Babbage wrote the first program in 1836. Let’s compare these programs.
Ada’s program is a set of notes on Luigi Federico Menabrea’s “Sketch of the Analytical Engine Invented by Charles Babbage, Esq.”, showing how Charles Babbage’s theoretical Analytical Engine could calculate Bernoulli numbers using punch cards (see the image below).
Meanwhile, Babbage’s notes (containing about 24 programs) are similar, but simpler and sometimes error-prone algorithms (see a detailed breakdown and comparison of Babbage’s and Lovelace’s work; note that we don’t have an image to prove his code, we are relying on computer historians who have studied Babbage and Lovelace).[9]
Due to the supposed simplicity of Babbage’s notes (produced between 1836 and 1837), and the confirmable complexity and of Lovelace’s Bernoulli number program contained in Note G of her Notes (produced between 1842 and 1843), Lovelace is often regarded as the first computer programmer, and thus the internet is filled with headlines like, “In 1842, Ada Lovelace Wrote the World’s First Computer Program“.
The problem is of course, that this version of the story omits Babbage’s programs written years before Ada’s similar, but more complex, program.[10][11][12]
This video from SciShow discusses Ada Lovelace had her contributions to computing.
FACT: Ada Lovelace was the daughter of the famous poet Lord Byron (why she is sometimes called “the Lady of Lovelace”, for instance by Alan Turing). Ada and Lord Byron were aristocracy, as was Babbage.
FACT: Charles Babbage can be considered to be the “father of the computer” due to his work in early theoretical and real computers. Babbage, sometimes with the help of protege Lovelace, is credited with inventing the first mechanical computer (Difference Engine 1822),”the first general-purpose computer” (Analytical Engine 1837), and originating the concept of the programmable computer. We can see why a story that downplays Charles is just as troublesome as one that downplays Ada when we take a good look at the accomplishments of the dynamic duo.
FACT: Between 1842 and 1843, Ada translated an article by Italian military engineer Luigi Menabrea (whom also deserves a nod) on Babbage’s Engine, which she supplemented with an elaborate set of notes, simply called Notes. These notes contain what many consider to be the first computer program, an algorithm designed to be carried out by a machine. Lovelace then did what no one else would for years, she speculated that “computers” could be used for more than just calculations, examining how individuals and society relate to technology as a collaborative tool (what she called “poetical science”). While her title of “first computer programmer” is debated, her title of “computer visionary”, “poetical scientist”, and early programmer is not.[13]
The First Complex Computer Program: Ada’s Note G. Program
Ada Lovelace wrote one of the first executable computer programs for Charles Babbage’s machine (see examples of Babbage’s earlier work here). Ada’s program on Note G., the one claimed to be the “first computer program”, looks like this:
Ada Lovelace’s notes. Considered by some to be the first computer program ever written. A computation engine for Bernoulli Numbers. Note G.
FACT: The first analog computer is from around 200 BC, it is called the Antikythera Mechanism. Facts like this are useful to remember when trying to nitpick the story of computer firsts in the 1800’s. There were also mechanical calculators long before Babbage’s machines. Pascal made one in 1642, and we now know there was even one in antiquity.
The Story of Ada and Babbage: The History of the First Computer Program
Ada Byron was a longtime friend of Cambridge mathematics professor Charles Babbage.
Babbage invented the Difference Engine in 1822 (based on an idea by J. H. Müller written down in 1786). The Difference Engine was a theoretical mechanical computer designed to automatically produce error free tables of numbers (something that was historically difficult to do). [14]
Although it would be built in 1985, the Difference Engine was never built by Babbage in his time.
By 1834 Babbage switched his focus to a new project, the Analytical Engine.
The Analytical Engine is today considered “the first general purpose computer”. The Analytical Engine was designed to use punch cards for input and output (just like computers would 100 years later). [15]
The above said, Babbage was never able to build his Analytical Engine either. He was, however, able to give speeches on how it would work in theory.
In 1842 Ada annotated a speech, by her now long time friend Charles Babbage, about the Analytical Engine.
Ada was ambitious and wanted to show how the machine could calculate more conceptual things like Bernoulli numbers (Babbage had thought of the machine as more of a super-powered calculator). Her notes ended up being longer than Babbage’s speech, and the final notes included, among other things, (in Section G) a detailed method for calculating a sequence of Bernoulli numbers.
It was proved nearly 100 years later that her error-free notes worked in practice, not just theory, and thus contained what would later be described (somewhat erroneously) as the world’s first computer program.[1]
FACT: A working version of Babbage’s Difference Engine was constructed in 1985–2002 [16] proving his machines worked. This makes Babbage the creator of the first general purpose computer.
Ada Lovelace, the Computer Visionary
To touch on the above point again, one of the most important aspects of Lovelace is her vision of what computers could do (and not her program).
Lovelace started a line of thinking that showed computers can do more than just calculate numbers. Lovelace suggested that the Engine “might act upon other things besides number… the Engine might compose elaborate and scientific pieces of music of any degree of complexity or extent”. The idea of a machine that could manipulate symbols in accordance with rules, and that number could represent entities other than quantity, marks the fundamental transition from calculation to computation in computer history. Later Alan Turning would cite Lovelace in his famous paper on “can machines think?“.
Despite the proper story being a little more complicated and a little less romantic than the one that places Ada as “literally the first computer programmer” and Babbage as the analytical and mistake prone old Codger who Lovelace danced creative circles around, the actual story is equally as important and highlights the importance of teamwork rather than individual greatness.
In the end, Ada’s program, and Babbage’s machine, represent huge leaps forward in computing technology.
FACT: Neither Charles or Ada’s program wasn’t executable until over 100 years later (as actual computers didn’t exist yet). Babbage’s machines weren’t built until the late 1900’s (the Analytical Engine has never been built, but a project is in the works). Today we have proved that Babbage’s theoretical computers worked (meaning he invented the general-purpose computer) and that Lovelace’s programs worked (meaning she was one of the first, if not the first, to write a fully executable computer program). With that said, both are important to the history of computing for more than just being “the first” at something.
FACT: Today we celebrate Ada Lovelace Day to remember her contribution to computer science, and importantly, we remember Charles Babbage (and theoretical computers in general) along with her. [17]
Lovelace, Babbage, Multiple Discovery, and the First Computer Program – Who Deserves Credit?
As noted above, history is a little fuzzy on who should be credited with what in the Babbage / Lovelace relationship. Below are some more considerations to think about when trying to figure out who deserves credit for what.
Ada’s notes contain a complex “computer program” that is still executable today, making her a good candidate for “first programmer”, but If we are being literal, she was predated by Babbage’s more rudimentary coding attempts from years before.
One has to consider that Babbage was detailing his theoretical machines in his notebooks before he even met Lovelace, meaning he really couldn’t have helped but to write the first bits of code (overly simple and full of errors, or not) years before Lovelace’s Notes.
Generally, with most inventions, it is rare that one person invents something. Rather things tend to be invented simultaneously and independently with the most famous of the inventors being given credit for the invention.
Lovelace and Babbage both deserve credit in the creation of what could be considered the world’s first computer program (and let us not forget Menabrea, Babbage’s assistants, and the other Italians who worked with them).
With this in mind, Ada Lovelace herself is certainly not mis-credited with the title of world’s first computer programer by many measures, it is only that the overly simple title really doesn’t hold up under scrutiny.
It is likely today we would consider Babbage and Lovelace a team, like Jobs and Woz, each with different skills that led to an important technological achievement.
Furthermore it is important to recognize the other uncredited people who likely wrote code in and around the same time (remember Babbage and Lovelace were semi-famous aristocracy of sort in their time, more like a Turing or an Einstein).
All this to say, “Ada Lovelace created the first complex computer program, but she wasn’t the first computer programmer, that was the father of the computer Charles Babbage, her friend and partner”. Lovelace is important for lots of things, including her visionary approach to computing, and there isn’t really a need to confuse her story for those who want to explore her character, accomplishments, and times.
TED – Ada Lovelace – YouTube. This video explains the history of Babbage, the Analytical Engine, and Ada’s code. It is a talk given by the guy heading the project to build the Analytical Engine, so it is a smart one to watch.
FACT: Both Babbage and Lovelace have earlier work pertaining to the Analytical Engine and Difference Engine 1 & 2. They both spent their career contemplating these theoretical computers like Pascal had done before them.[2]
FACT: The Analytical Engine is a theoretical computer, the ENIAC is the first working electronic general-purpose computer.
Ada Lovelace was one of the first programers, but it is a mistake to credit things like “the first program” to one person and not recognize others (see multiple discovery theory). In reality Charles Babbage wrote the first bits of code, Ada just improved upon what Babbage was already doing.
Charles Babbage invented his difference engine in 1822 and the first general purpose computer, the Analytical Engine, in 1837 along with some basic code for it.
Meanwhile, Ada Lovelace created the first complex executable computer program as notes for this device in 1842 and 1843 (although Babbage had written earlier more rudimentary codes with errors in 1836 and 1837).
Given they were close friends, I doubt they would want anything other than to share the fame. Furthermore, as they were both mathematicians and computing nerds wanting to push the bounds of science. It is likely they would simply prefer we learned about theoretical computers, and other greats computing including their predecessor Alan Turing, rather then sacrifice one to glorify the other with a mindset that we can only place one figure on a historical pedestal at a time.
If we have to credit one, let us credit Babbage with “firsts” and Ada with “creative improvements”. We can’t ignore the fact that Babbage invents his Difference Engine when Ada (born in December 1815) is not even 7 years old. When the two do begin to collaborate later, it is with Babbage as the mentor and the “Analyst (& Metaphysician)” Lovelace as a star pupil.
References
“Ada Lovelace“. Wikipeida.org. Retrieved Oct 13, 2015.
Thomas DeMichele is the content creator behind ObamaCareFacts.com, FactMyth.com, CryptocurrencyFacts.com, and other DogMediaSolutions.com and Massive Dog properties. He also contributes to MakerDAO and other cryptocurrency-based projects. Tom's focus in all...
Excellent article. I was in a museum exhibition of Babbage and I saw programs in “cards” with dates before 1842-1843. Later I think about this and now I know my thoughts were right.
This website exists because this idiot would ramble his BS. Some of the cites are even to the website itself which says fact checking – and fact checked by who – a nasty idiot.
Very confused by your comment. I provided a ton of links and videos and explanations of the contributions of Lovelace and Babbage and how their work together revolutionized computing… and I never once cited myself.
The website exists so we (me and my team; which is often just me) can examine claims and beliefs.
The claim here to examine is this idea that Ada Lovelace wrote the first computer program.
At first it would seem the answer is yes, after all that was the internet talking point and we have the complex, cool, and famous Note G… but when you get into the story and research it you start to realize that it is a so shallow-it-is-wrong way to look at what happened.
Ada Lovelace was cool as heck, but in simple terms it is hard not to also at least credit Babbage… if not also mention Pascal, Leibnitz, and Müller… and then what about Luigi Menabrea and everyone’s assistants and such.
This is like the Turing story. I’ll happily call him the father of…, but let’s not pretend like he had a solo act and didn’t work off of other ideas like for example those of Lovelace and the Polish Bombe.
The version of the story that celebrates Ada but never mentions Babbage is to me kind of insulting to both of them considering the way they worked together on the same project. It might be suitable for talking points, but for long rambling essays, we should ramble on about the details.
This matters. The people spreading the Ada myth are history revisionists who have hijacked the tech industry; injecting feminist theory and other marxist venom.
Well I don’t agree with your semantics, but putting that aside, I do understand your point and agree with one point made. That is, I do agree that some tend to be a little revisionist on this matter.
When we look to Apple computers, we should see the story of Steve and Steve (with the Apple), not just Steve.
When we look to the story of these early computers and coders, we should see the story of Lovelace and Babbage, not just Lovelace or Babbage.
The above were dynamic duos with important intertwining stories, and crediting one with the accomplishments of the other is at the very least doing a disservice to both.
Alan Turing didn’t just reference Babbage in his famous imitation game paper, he referenced Lovelace too (and in fact had a whole section on her).
“Our most detailed information of Babbage’s Analytical Engine comes from a memoir by Lady Lovelace ( 1842). In it she states, “The Analytical Engine has no pretensions to originate anything. It can do whatever we know how to order it to perform” (her italics)…
…Let us return for a moment to Lady Lovelace’s objection, which stated that the machine can only do what we tell it to do…”
What I am saying is that, Lovelace is important enough to be a key inspiration to Turing, but so was the father of the Computer Babbage. Anyone doing a push and pull over Babbage and Lovelace due to gender is doing a disservice to these two people who were close friends and together helped to propel forward modern computing. We can call them the Mother and Father of computing and code, or we can call her the mother of coding and him the father of computing, but we should not conflate their stories.
With that said, I don’t think it is any sort of progressive ideology (be we calling it by polite names or insulting ones) doing this, I think it is people looking for idols in computer history who aren’t taking enough time to research and respect the dynamic of this dynamic duo. Not saying there is no truth in what you say, and I don’t speak for everyone, but the above is my opinion based on all the articles and comments I’ve read on the subject (where most progressive commenters and authors seemed to be coming from a place of good intentions trying to tell the story of the sometimes forgotten Ada Lovelace).
It may be a semantic quibble, but I would argue that there is a difference between “wrote the first computer program” as this article states it, and “was the first computer programmer” as many Ada fans actually argue. The programs that Babbage wrote were akin to the modern “hello world” program that is often a student of computer science’s very first program, in their complexity and apparently bugginess as well. To call yourself a programmer suggests a certain mastery in understanding the abstractions that allow you to apply the tool of the computer to a given real-world problem. Clearly this describes Lovelace as shown by her Bernoulli Number algorithm, but not Babbage for whom such understanding was obviously not a strength.
While Babbage is clearly a genius in his own right, it may be more accurate to call him the first computer hardware engineer and let Lovelace hold the title of the first computer software engineer. Referring them to as such honors both of their contributions, recognizes how they worked together as a team with each bringing their individual strengths, and doesn’t belittle either of them.
Interesting take. I don’t disagree, although I would note that Babbage wrote a few programs, certainly none were as notable, accurate, or complex. Maybe I’ll think of a better way to phrase this so the accomplishments of both are clearer.
What would be great is if we could see all of Babbage’s coding attempts online so we could really do a side-by-side. Wishful thinking I guess, word is he has about 20 simple examples of code… but I’ve only heard of them (meanwhile we can all see Ada’s famous “Notes”.)
Atrtr Did not vote.
The Bernoulli calculation was written by Babbage himself, but wrongly attributed to Ada.
Douglas Bueno Did not vote.
Excellent article. I was in a museum exhibition of Babbage and I saw programs in “cards” with dates before 1842-1843. Later I think about this and now I know my thoughts were right.
Douglas Bueno Did not vote.
Also, the cards were like this: https://www.wired.com/beyond-the-beyond/2017/05/charles-babbage-left-computer-program-turin-1840/
Notice that this one is from 1940.
FukUrself Did not vote.
This website exists because this idiot would ramble his BS. Some of the cites are even to the website itself which says fact checking – and fact checked by who – a nasty idiot.
Thomas DeMicheleThe Author Did not vote.
Very confused by your comment. I provided a ton of links and videos and explanations of the contributions of Lovelace and Babbage and how their work together revolutionized computing… and I never once cited myself.
The website exists so we (me and my team; which is often just me) can examine claims and beliefs.
The claim here to examine is this idea that Ada Lovelace wrote the first computer program.
At first it would seem the answer is yes, after all that was the internet talking point and we have the complex, cool, and famous Note G… but when you get into the story and research it you start to realize that it is a so shallow-it-is-wrong way to look at what happened.
Ada Lovelace was cool as heck, but in simple terms it is hard not to also at least credit Babbage… if not also mention Pascal, Leibnitz, and Müller… and then what about Luigi Menabrea and everyone’s assistants and such.
This is like the Turing story. I’ll happily call him the father of…, but let’s not pretend like he had a solo act and didn’t work off of other ideas like for example those of Lovelace and the Polish Bombe.
The version of the story that celebrates Ada but never mentions Babbage is to me kind of insulting to both of them considering the way they worked together on the same project. It might be suitable for talking points, but for long rambling essays, we should ramble on about the details.
kadyn Doesn't beleive this myth.
it is a myth
Lucifer Did not vote.
This matters. The people spreading the Ada myth are history revisionists who have hijacked the tech industry; injecting feminist theory and other marxist venom.
I wish I were kidding.
Thomas DeMicheleThe Author Did not vote.
Well I don’t agree with your semantics, but putting that aside, I do understand your point and agree with one point made. That is, I do agree that some tend to be a little revisionist on this matter.
When we look to Apple computers, we should see the story of Steve and Steve (with the Apple), not just Steve.
When we look to the story of these early computers and coders, we should see the story of Lovelace and Babbage, not just Lovelace or Babbage.
The above were dynamic duos with important intertwining stories, and crediting one with the accomplishments of the other is at the very least doing a disservice to both.
Alan Turing didn’t just reference Babbage in his famous imitation game paper, he referenced Lovelace too (and in fact had a whole section on her).
“Our most detailed information of Babbage’s Analytical Engine comes from a memoir by Lady Lovelace ( 1842). In it she states, “The Analytical Engine has no pretensions to originate anything. It can do whatever we know how to order it to perform” (her italics)…
…Let us return for a moment to Lady Lovelace’s objection, which stated that the machine can only do what we tell it to do…”
– Alan Turing
https://www.csee.umbc.edu/courses/471/papers/turing.pdf
What I am saying is that, Lovelace is important enough to be a key inspiration to Turing, but so was the father of the Computer Babbage. Anyone doing a push and pull over Babbage and Lovelace due to gender is doing a disservice to these two people who were close friends and together helped to propel forward modern computing. We can call them the Mother and Father of computing and code, or we can call her the mother of coding and him the father of computing, but we should not conflate their stories.
With that said, I don’t think it is any sort of progressive ideology (be we calling it by polite names or insulting ones) doing this, I think it is people looking for idols in computer history who aren’t taking enough time to research and respect the dynamic of this dynamic duo. Not saying there is no truth in what you say, and I don’t speak for everyone, but the above is my opinion based on all the articles and comments I’ve read on the subject (where most progressive commenters and authors seemed to be coming from a place of good intentions trying to tell the story of the sometimes forgotten Ada Lovelace).
Erik Supports this as a Fact.
It may be a semantic quibble, but I would argue that there is a difference between “wrote the first computer program” as this article states it, and “was the first computer programmer” as many Ada fans actually argue. The programs that Babbage wrote were akin to the modern “hello world” program that is often a student of computer science’s very first program, in their complexity and apparently bugginess as well. To call yourself a programmer suggests a certain mastery in understanding the abstractions that allow you to apply the tool of the computer to a given real-world problem. Clearly this describes Lovelace as shown by her Bernoulli Number algorithm, but not Babbage for whom such understanding was obviously not a strength.
While Babbage is clearly a genius in his own right, it may be more accurate to call him the first computer hardware engineer and let Lovelace hold the title of the first computer software engineer. Referring them to as such honors both of their contributions, recognizes how they worked together as a team with each bringing their individual strengths, and doesn’t belittle either of them.
Thomas DeMicheleThe Author Did not vote.
Interesting take. I don’t disagree, although I would note that Babbage wrote a few programs, certainly none were as notable, accurate, or complex. Maybe I’ll think of a better way to phrase this so the accomplishments of both are clearer.
What would be great is if we could see all of Babbage’s coding attempts online so we could really do a side-by-side. Wishful thinking I guess, word is he has about 20 simple examples of code… but I’ve only heard of them (meanwhile we can all see Ada’s famous “Notes”.)
John R. Gibson Did not vote.
There are many parts to this. How about the invention of the loom or the Greek machine that seems to have calculated orbits!
Thomas DeMicheleThe Author Did not vote.
I agree, funny side note, my grandfather is the guy who discovered “the Greek Machine”: http://factmyth.com/factoids/the-antikythera-mechanism-is-the-oldest-analog-computer/
But good point, I should touch on older computers and astrolabes and such here.
John R. Gibson Did not vote.
Please add: “No need to be picky.”