Changes

Jump to navigation Jump to search
12 bytes removed ,  01:00, July 13, 2016
clean up & uniformity
Line 2: Line 2:  
'''Ada Lovelace''' (1815-1852) was a British mathematician involved in the extremely early history of computers, long before the "modern era" of actual construction of working computers.  She worked with [[Charles Babbage]] on an extremely visionary, completely mechanical, computer called the "analytical engine".  It was never built, because Babbage's design was way ahead of its time.
 
'''Ada Lovelace''' (1815-1852) was a British mathematician involved in the extremely early history of computers, long before the "modern era" of actual construction of working computers.  She worked with [[Charles Babbage]] on an extremely visionary, completely mechanical, computer called the "analytical engine".  It was never built, because Babbage's design was way ahead of its time.
   −
She is noteworthy for writing an 1843 paper with Luigi Menabrea (it actually started out has her translation of Menabrea's shorter paper from French to English; she then added extensive notes) about the analytical engine<ref name="thepaper">[http://www.fourmilab.ch/babbage/sketch.html Menabrea's Sketch and Ada's Notes]</ref>. The paper ends with the famous "Note G", in which she analyzes an algorithm for calculating [[Bernoulli numbers]] and shows the code for it on the (never built) machine.  Because of this, she is often credited with "writing the first computer program" and being "the world's first computer programmer."<ref name="sciam">[http://www.cs.virginia.edu/~robins/Ada_and_the_First_Computer.pdf Scientific American, May 1999, pp76]</ref><ref>http://cs-www.cs.yale.edu/homes/tap/Files/ada-bio.html</ref><ref>http://www.cs.fit.edu/~ryan/ada/lovelace.html</ref><ref>http://www.well.com/user/adatoole/bio.htm</ref><ref>[http://www.cs.fit.edu/~ryan/ada/lovelace.html Augusta Ada Byron (1815-1852)] - Ryan Stansifer, Associate Professor - Department of Computer Sciences - Florida Institute of Technology</ref>. While this was not a program written in anything that would be recognized as a programming language in the modern sense, it was the first mathematical algorithm ''encoded for the purpose of being executed by an automatically controlled digital computer''.  That is, she wrote the first published, surviving computer program designed to solve a real problem.
+
She is noteworthy for writing an 1843 paper with Luigi Menabrea (it actually started out has her translation of Menabrea's shorter paper from French to English; she then added extensive notes) about the analytical engine.<ref name="thepaper">[http://www.fourmilab.ch/babbage/sketch.html Menabrea's Sketch and Ada's Notes]</ref>  The paper ends with the famous "Note G", in which she analyzes an algorithm for calculating [[Bernoulli numbers]] and shows the code for it on the (never built) machine.  Because of this, she is often credited with "writing the first computer program" and being "the world's first computer programmer.".<ref name="sciam">[http://www.cs.virginia.edu/~robins/Ada_and_the_First_Computer.pdf Scientific American, May 1999, pp76]</ref><ref name="cs-www.cs.yale.edu">http://cs-www.cs.yale.edu/homes/tap/Files/ada-bio.html</ref><ref>http://www.cs.fit.edu/~ryan/ada/lovelace.html</ref><ref>http://www.well.com/user/adatoole/bio.htm</ref><ref>[http://www.cs.fit.edu/~ryan/ada/lovelace.html Augusta Ada Byron (1815-1852)] - Ryan Stansifer, Associate Professor - Department of Computer Sciences - Florida Institute of Technology</ref>  While this was not a program written in anything that would be recognized as a programming language in the modern sense, it was the first mathematical algorithm ''encoded for the purpose of being executed by an automatically controlled digital computer''.  That is, she wrote the first published, surviving computer program designed to solve a real problem.
    
But the issue is not clear-cut, because there are different opinions about what constitutes a "program" and what constitutes a "computer".  Perhaps the main objection is that the computer for which her program was written was never built, so her program did not actually run.  Ada had to write the algorithm on paper, rather than at a keypunch or computer terminal, of course.  But, to use modern terminology, she actually "wrote code".  Also, since the term "program" had not been coined, she described her algorithm as a "plan".  In the 20th century, the program was carefully analyzed and simulated, and found to have a minor "bug".  The controversy will be discussed at length below.
 
But the issue is not clear-cut, because there are different opinions about what constitutes a "program" and what constitutes a "computer".  Perhaps the main objection is that the computer for which her program was written was never built, so her program did not actually run.  Ada had to write the algorithm on paper, rather than at a keypunch or computer terminal, of course.  But, to use modern terminology, she actually "wrote code".  Also, since the term "program" had not been coined, she described her algorithm as a "plan".  In the 20th century, the program was carefully analyzed and simulated, and found to have a minor "bug".  The controversy will be discussed at length below.
   −
==Early Life==
+
==Early life==
 
She was the only legitimate child of of the famous British poet [[George Gordon, Lord Byron|Lord Byron]], but he abandoned her and her mother before her first birthday.  She was raised by her mother.
 
She was the only legitimate child of of the famous British poet [[George Gordon, Lord Byron|Lord Byron]], but he abandoned her and her mother before her first birthday.  She was raised by her mother.
    
She was born Augusta Ada Byron, and called by her middle name as a child.  She married William King, who later became Earl of Lovelace, making her "Countess of Lovelace".  She has been called Augusta Ada, Augusta Ada Byron, Augusta Ada Lovelace, Ada Lovelace, Ada King, or just Ada.
 
She was born Augusta Ada Byron, and called by her middle name as a child.  She married William King, who later became Earl of Lovelace, making her "Countess of Lovelace".  She has been called Augusta Ada, Augusta Ada Byron, Augusta Ada Lovelace, Ada Lovelace, Ada King, or just Ada.
   −
In October of 1842 Luigi Federico Menabrea (1809-1896), an Italian professor of mechanics at University of Turin (and later premier of the Kingdom of Italy), published a paper describing the function and theory of Babbage's Analytical Engine.  Ada translated the paper from French to English and added her own extensive comments. (See ''Science and Reform, Selected Works of Charles Babbage'' by Anthony Hyman.) This was published in 1843 and impressed Babbage, for it included, as Babbage himself wrote,
+
In October 1842 Luigi Federico Menabrea (1809-1896), an Italian professor of mechanics at University of Turin (and later premier of the Kingdom of Italy), published a paper describing the function and theory of Babbage's Analytical Engine.  Ada translated the paper from French to English and added her own extensive comments. (See ''Science and Reform, Selected Works of Charles Babbage'' by Anthony Hyman.) This was published in 1843 and impressed Babbage, for it included, as Babbage himself wrote,
 
{{cquote|some complicated programs of her own, the most complex of these being one to calculate the sequence of Bernoulli numbers.}}
 
{{cquote|some complicated programs of her own, the most complex of these being one to calculate the sequence of Bernoulli numbers.}}
   Line 18: Line 18:     
==What did Ada's Bernoulli program look like?==
 
==What did Ada's Bernoulli program look like?==
The program, and detailed technical commentary, appeared in the paper "Sketch of the Analytical Engine Invented by Charles Babbage"<ref name="thepaper"/> that Ada wrote in 1843.  The program itself has been reproduced in the "sidebar" on page 79<ref name="sciam"/>. It can also be seen in the original paper.  First there is a list of the six input and output variables that are used: V1, V2, V3, V21, V22 and V23.  And the temporary variables V4 through V13.  In modern terminology in a strongly typed language such as C++, we would write something like:
+
The program, and detailed technical commentary, appeared in the paper "Sketch of the Analytical Engine Invented by Charles Babbage"<ref name="thepaper"/> that Ada wrote in 1843.  The program itself has been reproduced in the "sidebar" on page 79.<ref name="sciam"/>  It can also be seen in the original paper.  First there is a list of the six input and output variables that are used: V1, V2, V3, V21, V22 and V23.  And the temporary variables V4 through V13.  In modern terminology in a strongly typed language such as C++, we would write something like:
    
   int V1, V2, V3;        // inputs
 
   int V1, V2, V3;        // inputs
Line 39: Line 39:     
==Was it a computer?==
 
==Was it a computer?==
The "analytical engine" was so far ahead of its time that one might be tempted to call it just a "visionary idea".  The technology of the time was nowhere near capable of building it.  Even the much-less-ambitious "difference engine" was beyond the technology of the day&mdash;making the counters do arithmetic reliably required very careful machining of the parts.  Only a small partial prototype of the difference engine was built in Babbage's lifetime.  But Babbage clearly knew what he wanted<ref>That Babbage knew what he was doing is attested to by the fact that his full difference engine was finally constructed in 1991 (the bicentennial of Babbage's birth) and is on display at the London Science Museum.  Babbage's original plans were almost exactly correct.</ref>. His vision of a calculating device that can perform operations under control of a "program" punched into cards, and that makes control decisions based on the data resulting from the calculation steps, was incredibly prescient.  It was exactly the principle used in modern computers.  Lovelace understood that vision, and even extended it to the idea that computers might perform tasks beyond purely numerical ones, such as composing music.  The fact that the analytical engine was mechanical rather than electronic did not make it any less a computer.  It just made it harder to build.  It took about 100 years for the field of electrical engineering to make computers such as that envisioned by Babbage realizable.
+
The "analytical engine" was so far ahead of its time that one might be tempted to call it just a "visionary idea".  The technology of the time was nowhere near capable of building it.  Even the much-less-ambitious "difference engine" was beyond the technology of the day&mdash;making the counters do arithmetic reliably required very careful machining of the parts.  Only a small partial prototype of the difference engine was built in Babbage's lifetime.  But Babbage clearly knew what he wanted.<ref>That Babbage knew what he was doing is attested to by the fact that his full difference engine was finally constructed in 1991 (the bicentennial of Babbage's birth) and is on display at the London Science Museum.  Babbage's original plans were almost exactly correct.</ref>  His vision of a calculating device that can perform operations under control of a "program" punched into cards, and that makes control decisions based on the data resulting from the calculation steps, was incredibly prescient.  It was exactly the principle used in modern computers.  Lovelace understood that vision, and even extended it to the idea that computers might perform tasks beyond purely numerical ones, such as composing music.  The fact that the analytical engine was mechanical rather than electronic did not make it any less a computer.  It just made it harder to build.  It took about 100 years for the field of electrical engineering to make computers such as that envisioned by Babbage realizable.
    
==How can someone have written a computer program in 1843?  Computers hadn't been invented!==
 
==How can someone have written a computer program in 1843?  Computers hadn't been invented!==
Line 52: Line 52:  
Biographer Betty Toole wrote: "Her 'Notes' also predict that, given the right algorithms, calculating engines might compose music and create graphics. She even presaged Alan Turing and the 'garbage-in, garbage out' effect, saying, 'The Analytical Engine has no pretensions whatever to originate any thing. It can do whatever we know how to order it to perform -- it has no power of anticipating any analytical relations or truths.'"  This statement is often quoted even today as a profound truism about computers.
 
Biographer Betty Toole wrote: "Her 'Notes' also predict that, given the right algorithms, calculating engines might compose music and create graphics. She even presaged Alan Turing and the 'garbage-in, garbage out' effect, saying, 'The Analytical Engine has no pretensions whatever to originate any thing. It can do whatever we know how to order it to perform -- it has no power of anticipating any analytical relations or truths.'"  This statement is often quoted even today as a profound truism about computers.
   −
Toole further says: "Ada suggested to Babbage writing a plan for how the engine might calculate Bernoulli numbers.  This plan is now regarded as the first 'computer program.'"<ref>http://cs-www.cs.yale.edu/homes/tap/Files/ada-bio.html</ref>
+
Toole further says: "Ada suggested to Babbage writing a plan for how the engine might calculate Bernoulli numbers.  This plan is now regarded as the first 'computer program.'"<ref name="cs-www.cs.yale.edu"/>
    
Ada's "Note G" contains the Bernoulli program.  Reading the Menabrea/Lovelace paper, one is struck by the degree to which they had to break new ground.  Computers, and the field of computer science, had not been invented.  They had to figure out what it meant to have a computer, and to encode mathematical algorithms for it.  What they figured out is very different from modern computer science, but one can see the beginnings in the Menabrea/Lovelace paper.
 
Ada's "Note G" contains the Bernoulli program.  Reading the Menabrea/Lovelace paper, one is struck by the degree to which they had to break new ground.  Computers, and the field of computer science, had not been invented.  They had to figure out what it meant to have a computer, and to encode mathematical algorithms for it.  What they figured out is very different from modern computer science, but one can see the beginnings in the Menabrea/Lovelace paper.
Line 92: Line 92:  
Biographer Martin Campbell-Kelly says that she was "a computer pioneer, if not a programmer as the term is understood today".
 
Biographer Martin Campbell-Kelly says that she was "a computer pioneer, if not a programmer as the term is understood today".
   −
Some have suggested that Ada could not have been a programmer because, as her Biographer Betty Toole wrote: "Ada certainly did not invent a computer language."<ref>http://www.salon.com/21st/feature/1999/03/16feature2.html</ref>. Toole is correct; no computer language was involved.
+
Some have suggested that Ada could not have been a programmer because, as her Biographer Betty Toole wrote: "Ada certainly did not invent a computer language.".<ref>http://www.salon.com/21st/feature/1999/03/16feature2.html</ref>  Toole is correct; no computer language was involved.
    
The important point is that the algorithm that Lovelace put in her "Note G" was '''encoded for the purpose of being executed by an automatically controlled digital computer'''.  That is, she wrote the first published, surviving computer program designed to solve a real problem.
 
The important point is that the algorithm that Lovelace put in her "Note G" was '''encoded for the purpose of being executed by an automatically controlled digital computer'''.  That is, she wrote the first published, surviving computer program designed to solve a real problem.
Line 111: Line 111:  
::*Was the Lovelace/Bernoulli program actually first?
 
::*Was the Lovelace/Bernoulli program actually first?
   −
There may be additional social/political issues because Ada Lovelace was a woman.  The issue of [[Women in Science and Mathematics]] has long been a contentious one, because the field is dominated by men.  There are those that feel that women who have made significant contributions should be held up as role models to encourage girls to go into these fields<ref>This sometimes gets rather silly: [http://shop.mattel.com/product/index.jsp?productId=4032107]</ref> (the effect is particularly pronounced in the case of Marie Curie), and those who disagree.  As often happens, people sometimes mix these issues with other political issues, such as the entire issue of feminism.
+
There may be additional social/political issues because Ada Lovelace was a woman.  The issue of [[Women in Science and Mathematics]] has long been a contentious one, because the field is dominated by men.  There are those that feel that women who have made significant contributions should be held up as role models to encourage girls to go into these fields<ref>[http://shop.mattel.com/product/index.jsp?productId=4032107 This sometimes gets rather silly]</ref> (the effect is particularly pronounced in the case of Marie Curie), and those who disagree.  As often happens, people sometimes mix these issues with other political issues, such as the entire issue of feminism.
    
But one should keep in mind that nothing about modern feminism or educational/social issues has any bearing on what happened 170 years ago.
 
But one should keep in mind that nothing about modern feminism or educational/social issues has any bearing on what happened 170 years ago.
Line 121: Line 121:  
{{reflist|1}}
 
{{reflist|1}}
   −
==Further Reading==
+
==Further reading==
 
*[http://www.salon.com/21st/feature/1999/03/16feature2.html Repurposing Ada] - contains several denials (including one by a biographer) that her "Notes" were a [[computer program]]  
 
*[http://www.salon.com/21st/feature/1999/03/16feature2.html Repurposing Ada] - contains several denials (including one by a biographer) that her "Notes" were a [[computer program]]  
 
*[http://www.fourmilab.ch/babbage/sketch.html Menabrea's Sketch and Ada's Notes]
 
*[http://www.fourmilab.ch/babbage/sketch.html Menabrea's Sketch and Ada's Notes]
Line 129: Line 129:  
*Computer: A History Of The Information Machine, Second Edition, Martin Campbell-Kelly & William Aspray, 2004, ISBN 978-0813342641
 
*Computer: A History Of The Information Machine, Second Edition, Martin Campbell-Kelly & William Aspray, 2004, ISBN 978-0813342641
   −
{{DEFAULTSORT: Lovelace, Ada}}  
+
{{DEFAULTSORT:Lovelace, Ada}}  
[[category:Women]]
+
[[Category:Women]]
Block, SkipCaptcha, Automoderated users, Bots, edit
57,719

edits

Navigation menu