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.
1.4

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 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.

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.

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.

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 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.

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.