Want to keep learning?

This content is taken from the Raspberry Pi Foundation & National Centre for Computing Education's online course, How Computers Work: Demystifying Computation. Join the course to learn more.

Babbage and Lovelace

In this step, we’re going to look at two of the earliest pioneers of Computer Science: Charles Babbage and Ada Lovelace. You’ll learn about their pioneering work in trying to design, build and program what could have been the world’s first computer.

Charles Babbage - 1860

Charles Babbage was a 19th century British mathematician, engineer and inventor. During this period, to calculate the result of a particular mathematical function, one would use a mathematical table. For instance, if you wanted to find the sine of 100, you would use a table that provided all the results of sine calculations from 0 up to 360 degrees.

Bernegger Manuale 136

These tables were calculated by teams of human computers, but often suffered from calculation or transcription errors. Babbage realised that he could design a machine that could perform these calculations automatically, and with a high degree of accuracy. The machine would be mechanical in nature and he called it the Difference Engine.

Babbage Difference Engine

The Difference Engine had only once purpose, to calculate the results of polynomial functions. Unfortunately, Babbage and the engineer he hired to build the machine had a falling out, over the cost of the precision tools required, and the machine was never completed, despite the ample funding given to Babbage by the government.

While working on the Difference Engine, Babbage realised he could actually design a more general purpose computer. That is, a computer that could be programmed to perform a variety of different calculations. He started working on this Analytical Engine in 1837, but it remained nothing more than a series of designs which he would not complete before his death in 1871.

AnalyticalMachine Babbage London

The Analytical Engine would have been the world’s first general purpose computer, had it been completed. The machine could be fed instructions on punch cards. It had a device called a mill that could perform addition, subtraction, multiplication and division. It could also store up to 1,000 numbers of 40 digits in length. There was also the ability for the machine to be fed instructions that included branching structures and loops.

Ada Byron daguerreotype by Antoine Claudet 1843 or 1850

Ada Lovelace was the only legitimate child of the poet Lord Byron. Byron left his wife when Lovelace was a child, and her mother decided that the girl should learn mathematics and logic, to prevent her suffering the perceived insanity of Byron.

Lovelace was introduced to Babbage at the age of eighteen, and the two would often write or meet to discuss Babbage’s invention. When she was asked to translate an article about the Analytical Engine, she supplemented the article with a set of her own notes on the machine, one of which turned out to be an algorithm for using the machine to calculate Bernoulli numbers.

Diagram for the computation of Bernoulli numbers

This is now often described as the first computer program, which makes Ada Lovelace the first programmer in history. Lovelace realised the true potential of the Analytical Engine to do far more than simply crunch numbers. She could see its potential for solving a wide range of computational problems, and once wrote:

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.

So why is all this important? Well, apart from recognising the achievements of some of Computer Science’s pioneers, we can see that the basic function of a computer hasn’t changed in over 150 years. Just like modern computers, the Analytical Engine received, processed and output data according to a set of instructions, just as was described in the previous step.

If you would like to learn a little more about Charles Babbage and Ada Lovelace, then this article is a great starting point.

In the next step you’ll learn a little bit more about the processing of instructions, by looking at another early pioneer in the field, Alan Turing. Do you think it is important for learners to have some historical context of the subjects they are studying? Discuss your thoughts in the comments section.

Share this article:

This article is from the free online course:

How Computers Work: Demystifying Computation

Raspberry Pi Foundation