The Enchantress of Numbers
For the anniversary of Ada Lovelace's birthday, let us celebrate the unlikely heroine who pioneered a field that, today, pervades nearly every aspect of our lives -- computer programming.
Ada Lovelace was born in London in 1815, short months after news had reached England of the Duke of Wellington's victory over Napoleon at the battle of Waterloo. Romanticism was in full swing, and it was in the following year that Mary Shelley would conceive of the world's first work of science fiction, Frankenstein.
Realism, the philosophical and artistic rebellion against the emotionality of Romanticism, was still several decades in the future, but Ada's mother had her own aspirations toward a rebellion against Romanticism: a hefty dose of math and science.
At 17, Ada's mother hired Mary Somerville as a tutor, a respected researcher, science writer, and astronomer, who was later among the first female members of the Royal Astronomical Society along with Caroline Herschel. In 1833, Somerville also introduced Ada to her lasting friend and colleague, the engineer and inventor Charles Babbage.
Shortly thereafter, dazzled by Ada's intellect, Babbage invited the young girl to work with his prototype for the Difference Engine, a series of numbered cogs and gears that functioned as a mechanical calculator.
It was at seeing Ada's analytical capacity with the Difference Engine that Babbage called her "The Enchantress of Numbers."
In the same year that Babbage met Ada Lovelace, he began to design a more generalized computational mechanism, which he called the Analytical Engine. A user could input programs and data via punched cards, and it would output printed numbers and curves. It could work with programmed loops, integrated memory, and conditional branching -- tasks familiar to any modern computer programmer-- and few scientists of the time could wrap their heads around the math required to understand the design.
Ada Lovelace wrote extensive notes in her translation of an article describing the Analytical Engine, including a detailed description of how to calculate Bernoulli numbers using the machine. Her method is widely considered to be the first-ever computer program.
In addition to her program, Ada described in her notes the ability of the Analytical Engine to solve problems of high complexity, including the possibility of writing programs to solve non-mathematical problems:
"[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."
(Ada's notes are all here)
The transition from seeing the machine as a number-cruncher to a machine for manipulating symbols "is the fundamental transition from calculation to computation."*
So while you spend your long, dark December hours programming, texting, or simply reading this blog via the Glorious Internet -- raise a glass(/teacup/mug) to the memory of Ada Lovelace, the Enchantress of Numbers, on her birthday.
* Taken from a quote by historian and Babbage specialist Doron Swade.