C&B Notes

Nineteenth Century Software Engineering

Some people seem to live before their time.  Ada Lovelace, daughter of poet Lord Byron, had a mind for something completely unconventional — indeed unheard of.  Her footnotes to her translation of an Italian engineer’s essay on Charles Babbage’s Analytical Engine may be the first software “code” ever written.

On July 8, 1835, an English nobleman, the 8th Baron King, was married in what was, by all accounts, a pleasant wedding, though it was a much smaller affair than one might have expected, given the groom’s title and family wealth.  The intimacy was due to the general public’s fascination with his 19-year-old bride, the beautiful and brilliant Augusta Byron, now commonly known by her middle name of Ada, daughter of the notorious English Romantic poet, Lord Byron (1788-1824).

More than a decade after his death, Byron’s reputation for creative brilliance and moral dissolution continued to reverberate through European culture.  Ada’s fame meant a certain measure of discretion was required at her wedding.

By the conventional standards of Victorian society, Ada’s married life seemed a dream: a title, a loving husband and three children.  But as she settled into motherhood and running a landed estate, she found herself fraying at the edges, drawn to paths that were unheard of for Victorian women.  She had a passion for numbers.

* * * * * *

At 25, Ada Lovelace (her husband had been given the title Earl of Lovelace in 1838) found herself at a crossroads, confronting two very different ways of being.  She could live within the boundaries of conventional decorum.  Or she could embrace those “peculiarities of [her] nervous system” and seek out some original path for herself and her distinctive gifts.  In choosing between domestic stability and some unknown break from convention, she was, in a sense, choosing between her mother and her father.  To stay settled was the easier path; the forces of society propelled her toward it.  And yet she was still Byron’s daughter.

Lovelace found a way around the impasse. She charted a path that allowed her to push the barriers of Victorian society without succumbing to the creative chaos that had enveloped her father.  She became a software programmer.

Writing code in the 19th century may seem like a vocation that would be possible only with time travel but, as chance would have it, Lovelace already knew the one man who was capable of giving her such a project: Charles Babbage, a brilliant and eclectic inventor.

Babbage had spent the previous two decades concocting state-of-the-art calculators and, since the mid-1830s, he had been working on a project that would last the rest of his life: designing a truly programmable computer, capable of executing complex calculations that went far beyond the capabilities of any contemporary machines.  Babbage’s Analytical Engine was doomed to practical failure — he was trying to build a digital-age computer with industrial-age mechanical parts — but conceptually it was a brilliant leap forward.  The design anticipated the major components of modern computers: the notion of a central processing unit (which Babbage dubbed “the mill”), of random-access memory and of software that would control the machine, etched on the very same punch cards that would program computers more than a century later.