I know it doesn't look like much, but this is the first computer program ever published.

ada-lovelace-program

Its author was Augusta Ada King, Countess of Lovelace, more commonly known as Ada Lovelace, and the program was part of an academic article published in the 1840's. And no, that isn't a typo.

Although Ada was an accomplished writer and mathematician, she's better known for her contributions to the world of computing. If you've ever browsed the Internet, bought something online, or even used a smartphone, you owe her an immeasurable debt. Each year on the 13th of October, we celebrate Ada Lovelace Day, which recognizes the vast contributions women have made in the fields of science, technology, and math.

But while we're doing that, it's worth remembering Ada Lovelace herself, whose work continues to have a meaningful and significant impact on our lives.

Who Was Ada Lovelace?

Lovelace was born into the English aristocracy, in 1815's Georgian Britain. Her father was the Romantic poet Lord George Byron, and her mother was Lady Anne Isabella Byron – a highly educated and devoutly religious woman, who had extensive training in literature, mathematics, science, and philosophy.

One month after her birth, her parents separated in an acrimonious divorce, and Lord Byron departed England, leaving Ada to be raised by her mother and grandmother.

Ada Lovelace

Lady Anne Byron was deeply mistrustful of the arts, as a result of her tumultuous (and often fraught) relationship with Lord Byron. As a result, she pushed Ada into studying the hard sciences and mathematics, which she excelled at.

As a result of Ada's privileged upbringing, she was tutored by some of the greatest minds of the era, including Augustus de Morgan and Mary Somerville. It was the latter who, in June 1833, would introduce the 18-year-old Lovelace to Charles Babbage – a man often described as the "father of the computer".

At their first meeting, the young Ada made quite the impression on Babbage, who one month later invited her to London, so she could view the Difference Engine.

The Overture Of Computing

Originally, the word "computer" didn't refer to a machine, but rather a person.

If someone was a human computer, their job would be to literally compute things. The problem was humans aren't infallible, and often errors would creep into their work.

This fallibility inspired Babbage to create a machine that would be able to perform these calculations in a systematic, precise, and automated manner. This machine would allow a user to input some parameters, and the machine would then return the correct results. At a purely conceptual level, that isn't too dissimilar to how computer programs work on modern hardware.

ada-lovelace-difference-engine

Babbage set about building what he called the "Difference Engine". This was a mechanical machine designed with the sole purpose to tabulate polynomial equations.

Babbage was given a significant government grant to finish his design. Although he wasn't able to build a working model, Ada was fascinated with his prototype of the machine, and would visit Babbage as often as she could. She quickly developed a close working relationship with him, and Babbage was awestruck with her impressive mathematical and analytical skills.

Although Babbage soon lost interest in the Difference Engine, their relationship continued into his next project:  the Analytical Engine.

The First Program

This was a vastly more ambitious project than the Difference Engine.

While the Difference Engine had a single purpose, the Analytical Engine was intended to be a general-purpose, programmable computer. There wasn't anything quite like it.

In many respects, this shared a lot in common with the computers of today. Although Babbage was unable to finish it, the Analytical Engine allowed the programmer to write loops and conditional statements. It even featured a primitive Arithmetic Logic Unit (ALU). These are found in modern-day CPUs and GPUs, and are used to perform arithmetic and bitwise operations.

adalovelace-analyticalengine

The Analytical Engine, although never realized, attracted a lot of attention and curiosity from the academic community. Universities would often invite Babbage to lecture, and in 1840 Babbage spoke at the University of Turin. In attendance was the Italian mathematician Luigi Menabrea, who wrote a short article on what he had heard.

Menabrea later asked Lovelace to translate it for publication in the English language world. Because she had a near-encyclopedic understanding of the machine, as a result of her close friendship with Babbage, she was asked to expand upon it.

Her final article took over a year to complete, and was over three times the length of the original. In addition to expanding on it, she also included a number of algorithmic designs.

One of these was an algorithm for the Analytic Engine to compute Bernoulli numbers. This is widely hailed as the first ever published computer program, and is why Lovelace is often referred to as the first ever computer programmer.

Modern Day Ada Lovelaces

Lovelace died in 1852 at the young age of 36. Not only did she play an instrumental role in the development of computer science as a field, she also kickstarted a long and fine tradition of women making incredible leaps forwards in computers and technology.

There are far too many examples of this to comprehensively list. From Marissa Mayer, to Kathy Sierra, and Sheryl Sandberg, women play a vital role in the tech industry. But one person, in particular, stands out as having an instrumental role on the development of computer science.

Her name was Grace Hopper. Born in 1906, she quickly discovered she had an aptitude for mathematics, eventually earning a Ph.D. from Yale in the subject. In 1943, while the Second World War was raging, she joined the US Navy Reserve, where she was assigned to work on the Harvard Mark 1 Computer.

DN-SC-84-05971

Although primitive by our standards, this machine played a vital role in the war effort. They were even used by John Von Neumann to simulate the explosion of an atomic bomb, long before they were used to bring Imperial Japan to submission.

A few years later, Hopper would go on to build the world's first compiler. Called A-0 (Arithmetic Language Version 0), it ran on the UNIVAC 1, and could translate a type of mathematical code into machine code.

adalovelace-univac1

Hopper believed that computer code should be readable by humans. This philosophy inspired the creation of COBOL (a language which is still widely used to this day, particularly on legacy systems). Cobol, in turn, inspired many of the programming languages we use today.

Throughout this time, Hopper remained in the Navy, ultimately reaching the rank of Rear Admiral, until she was discharged in 1986, at the age of 79. She even appeared on The Letterman Show.

Happy Ada Lovelace Day

We all owe a massive debt to Ada Lovelace, Grace Hopper, and the countless other female mathematicians, computer scientists, programmers, and electrical engineers. Without them, I doubt you'd have a computer to read this article.

Are there any other women in tech who inspire you? Tell me about them in the comments section below.

Photo Credits: Difference Engine (Carsten Ulrich), Analytical Engine (Bruno Barral)