Currently viewing a development environment

Meet Ada Lovelace, the world’s first computer programmer

A "prophet of the computer age," she saw the potential for computers outside of pure mathematics

Lauren Mackenzie Reynolds

Neuroscience

McGill University

Born in 1815 as the only legitimate child of the poet Lord Byron and his wife Anna Isabella, Augusta Ada Byron (later the Countess of Lovelace) entered a world where the expectations of women were limited to domestic roles. As England moved into the Victorian Era, upper-class women were expected to marry and oversee the household. Devotion to intellectual pursuits was frowned upon.

However, Lovelace's mother, Lady Byron, had also been a gifted child that was tutored in mathematics by a former Cambridge professor.

Highly educated and devoutly religious, Lady Byron was the exact opposite of her moody poet husband. Their differences came to a head shortly after birth of their daughter, when the Byrons separated. Convinced that Lord Byron was insane, her mother was determined to stave off potential madness in Lovelace, ensuring that she was thoroughly educated with a particular focus on mathematics and logic. She was tutored by some of the most prominent English mathematicians and scientists of the time, including Mary Somerville – the first female member of the Royal Astronomical Society.

illustration of Ada Lovelace

Matteo Farinella

A tale of two engines

Lovelace was particularly close to Somerville, who tutored her in mathematics throughout her adolescence. It was Somerville that introduced 17 year old Lovelace to Charles Babbage at a party in 1833. Babbage was a mathematician, engineer and inventor, who had been working on a machine to standardize astronomical computations. Lovelace was enthralled when Babbage demonstrated a prototype of this machine to her.

The machine was Babbage’s Difference Engine, a mechanical calculator designed to perform polynomial functions. Before calculators as we now know them became inexpensive and common, most of these calculations were done by hand. To speed up this process, tables showing the results of a function with varying arguments were used as a reference. However, these tables often contained errors. Frustrated with this, Babbage had spent the better part of the decade preceding his meeting with Lovelace working on his Difference Engine.

After their introduction, Lovelace visited Babbage often and he became a mentor for her. Impressed with her mathematical mind, he often called her the ‘Enchantress of Numbers’, and they corresponded for the rest of her life. But the Difference Engine that had first fascinated her was limited – it was at its essence a calculator with one singular purpose. By 1837 Babbage had begun work on a machine that would be able to perform many types of analysis. This machine, which he called the Analytical Engine, was essentially a predecessor to the modern computer.

An illustration of a carpet loom with a Jacquard attachment up top

Wikimedia Commons

Weaving math

The form and function of Babbage’s Analytical Engine were inspired, in part, by a loom. In the 19th century, the Jacquard loom was invented to automate the weaving of complex patterns into textiles. A series of reusable punch cards were fed into the loom to determine the design, essentially programming the pattern of the textile.

The Analytical Engine, although never built, was also designed to use punch cards. But instead of weaving patterns, these punch cards would instead contain formula and data. In fact, Lovelace wrote that "We may say most aptly that the Analytical Engine weaves algebraical patterns just as the Jacquard-loom weaves flowers and leaves."

Notes by the Translator

Lovelace was the first to recognize that the Analytical Engine had applications beyond numerical calculations. In 1843, she published a translation of an article about the Analytical Engine by Italian mathematician Luigi Federico Menabrea. She added to the translation her notes, which were nearly three times as long as the original article. In these notes, she proposes that the Analytical Engine could process text, pictures, and sounds if they were coded in a way the machine could interpret. Her vision of using code to move the Analytical Engine from a numerical calculation machine to a multi-purpose computation machine is one of the reasons she has been heralded as a ‘prophet of the computer age’.

Lovelace made two other important contributions in her translation notes: one described a way that the machine could repeat series of instructions, called looping, a process still used in computing today. The other was an algorithm to calculate a Bernoulli number using the Analytical Engine – she had written the first ever computer program.

Lovelace's Analytical Engine algorithm for the computation of Bernoulli numbers

Wikimedia Commons

Posthumous legacy

Less than a decade after her notes were published, Lovelace died from uterine cancer in 1852 at the age of 36. Her contributions to computer science were largely forgotten for the next 100 years. But in 1953 her notes were republished and she became widely recognized as the first computer programmer. Since her re-emergence into computing history she has received many posthumous honors, including having a programming language named after her by the United States Department of Defense in 1980. More recently, her obituary was published as part of the New York Times series ‘Overlooked’, which is dedicated to highlighting the contributions of women and minorities not acknowledged by the newspaper at the time of their deaths. And just last month a rediscovered first edition copy of her notes sold at auction for £95,000.

Her legacy continues to be shared in the form of multiple books about her life – which celebrate her accomplishments, cement her inclusion among programming pioneers, and continue to inspire women in computer science.