Today, almost everyone we know can use a computer, which can perform mind-blowing calculations in the blink of an eye thanks to computer programmers. And as you start your new career in programming and development, you might be wondering about the history of it all. If doctors can look to Hippocrates and engineers to Archimedes, who do computer programmers turn to as the one who started it all? It can be a tricky question, especially since it’s not always clear what exactly programming is and what counts as a computer.
So, what’s technically considered a computer? In the most general sense, a computer is any machine that can automatically carry out a mathematical or logical operation based on a given input.
Today, it’s all too easy to limit our thinking to electronic computers, which were invented and developed within the last 100 years. But centuries before electronic computers, people all over the industrialized world were using mechanical computers, which used levers and gears to perform simple addition for shopkeepers and accountants as well as complex mathematical operations.
And what exactly is programming? People still argue about the precise definition of computer programming, but here’s a very basic history of the term. The earliest examples of computers were impressive (more on that below), but they weren’t programmable. In other words, they were designed and built to perform one function or a specific set of functions. With programming, on the other hand, anyone (not just the computer designer) can put together a set of instructions that tell a computer what to do next.
Ada Lovelace: the first computer programmer
By these commonly held definitions of computers and programming, Ada Lovelace (1815–1852) is known as the world’s first computer programmer. Lovelace combined the power of a general-purpose computer with a specific programming language to perform a computational task that wasn’t “built-in” in the computer’s design.
Who was Ada Lovelace?
Ada Lovelace — or, officially, Augusta Ada King, Countess of Lovelace — was herself born into a well-known family. Her father was Lord Byron, the great Romantic poet who wrote Don Juan, among others.
As a child, Ada’s interest and skill in math and logic were clear, and fortunately, her mother promoted these interests. When she was officially presented to society at age 17, Ada quickly became well known for her intelligence, and she soon married the future Earl of Lovelace. Unfortunately, Ada Lovelace died tragically young at 36 from uterine cancer.
As an Englishwoman living during the Industrial Revolution, Lovelace was part of a distinguished group of the earliest pioneers in electricity, computing, and telecommunications. Her contemporaries and frequent contacts included Michael Faraday, who discovered electromagnetic induction, and Charles Wheatstone, who contributed to the development of telegraphy. Still, it was during her collaboration with Charles Babbage, often known as “the father of the computer,” that she made her most important contributions to computing and programming.
But before we get into that, let’s take a look at the state of computing and programming by the time Ada Lovelace came onto the scene.
Computers and programming before Ada Lovelace
The Antikythera Mechanism: the earliest known computer
In 1900, a Greek captain and his crew of divers came across an ancient shipwreck near the island of Antikythera. Among the many “normal” artifacts — coins, jewelry, pottery, and so on — a strange mechanism was discovered that dates to the 2nd or 1st Centuries BCE. The device could predict eclipses and astronomical events years in advance and was also used to track the four-year cycle of the Olympic games. The Antikythera mechanism is therefore the earliest known example of an analog computer.
The writer: a clockwork boy
Almost 2,000 years after the Antikythera Device, it was watchmakers who were pushing the boundaries of automation and early programming. One of the most intricate examples is “The Writer,” a mechanical doll created in 1774 by Swiss watchmaker Pierre Jaquet-Droz. Comprising over 6,000 moving parts, this small “boy” could write short messages made up of letters that can be removed, added, and rearranged.
Punch cards: the first removable storage
Those of us of a certain age might remember — or at least, will have heard of — the days of programming with punch cards: those vast collections of paper cards punched with holes seemingly at random. Believe it or not, punch cards have been used since 1804, when Joseph-Marie Jacquard patented a special system for his looms. To use a traditional loom, the weaver must select which threads to use and manually raise and lower each set of threads for each row of the weave.
The Jacquard loom punch cards automated this. Threads that corresponded with punch card holes were lifted up while threads under parts of the card with no holes stayed put. For the next row of the weave, another punch card was used. As you might imagine, the Jacquard loom was able to produce the most complicated weave patterns in a fraction of the time. What was even more revolutionary was that the punch cards were replaceable and transportable, leading to the first known example of removable storage.
Ada Lovelace’s first computer program
With Jaquet-Droz’s precise mechanical system and Jaquard’s punch cards already well known in 19th-Century England, it’s no surprise that someone thought to combine the two. The Analytical Engine designed by Charles Babbage was a mechanical computer capable of logical operations, loops, and conditional branching. It even was able to store numbers.
Although the Analytical Engine was never built, Ada Lovelace became an expert in its design and operation. And in 1843, she translated a French description of the machine into English. In the translation, Lovelace added her copious notes and annotations, which included a method of calculating Bernoulli numbers using the Analytical Engine. This became known as the world’s first complete computer program.
The computer as more than just a calculator
Lovelace’s contribution to modern programming and computing extended beyond simply putting together a program. Almost everyone in Lovelace’s time, including Babbage, saw the future of computing as just a way to solve complex mathematical functions.
But, Lovelace believed that numerical outputs generated by computers could be used to represent just about anything, from mathematical solutions to musical notes to letters and words. Needless to say, it’s thanks to progressive thinkers like Lovelace that programming has advanced to what it is today: capable of performing almost any task through computers, robots, and everyday devices in our homes.
The legacy of Ada Lovelace
It’s thanks to Ada Lovelace’s combined technical skills and visionary insight that computer programming is such an important and respected career path today. And while it can be daunting to figure out what you need to become a Computer Programmer, there’s an easy place to start. Our Career Paths and programming tutorials will help guide you in learning the right skills to make you stand out from the pack.