This is the first of a five part blog series on some interesting facts about computer programming and the computer field that not many people are aware about.
Blog #1 will discuss the first ever computer programmer.
Born in 1815, Ada Lovelace was raised with a strict regimen of science, logic and mathematics from young. Ada had a fascination with machines since childhood.
At the age of 19 she was married to an aristocrat, William King; when King was made Earl of Lovelace in 1838 his wife became Lady Ada King, Countess of Lovelace. She is generally called Ada Lovelace, which is a little incorrect but saves confusion! She had three children.
In 1833, Lovelace’s mentor, the scientist and well educated Sommerville, introduced her to Charles Babbage, the Professor of Mathematics who had already attained considerable celebrity for his visionary and perpetually unfinished plans for gigantic clockwork calculating machines. Charles Babbage and Ada Lovelace both had somewhat unconventional personalities and became close and lifelong friends. Babbage described her as “that Enchantress who has thrown her magical spell around the most abstract of Sciences and has grasped it with a force which few masculine intellects could have exerted over it,” or an another occasion, as “The Enchantress of Numbers”.
In 1842 Lovelace interpreted a short article portraying the Analytical Engine by the italian mathematician Luigi Menabrea, for distribution in England. Babbage requesting that she extend the article, “as she comprehended the machine so well”. The last article is more than three times the length of the first and contains a few early ‘PC programs,’ and in addition strikingly insightful perceptions on the potential employments of the machine, including the manipulation of symbols and creation of music. Although Babbage and his assistants had sketched out programs for his engine before, Lovelace’s are the most elaborate and complete, and the first to be published; so she is often referred to as “the first computer programmer”.
V4=V5=V6 = V2 * V3; // Get 2N. The machine allowed multiple destination registers.
V4 = V4 – V1; // Get 2N-1.
V5 = V5 + V1; // Get 2N+1.
V11 = V4 / V5; // Get (2N-1)/(2N+1).
V11 = V12 / V2; // Get (1/2) * (2N-1)/(2N+1).
So how can someone write programming code even before computers exist? At a deeper philosophical level, we can say that Babbage and Lovelace, saw a fundamental truth where it is possible for an automatic machine to process information. In my opinion, that is the essence of computing. They also understood what it would mean for a computer/machine to process information which would not come to realization for another century. 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 computer. That is, she wrote the first published, surviving computer program designed to solve a real problem.