Charles Babbage, an English mathematician born in 1791, is often called the "father of the computer". The label is a little generous, because none of his machines was completed in his lifetime. But his second design, the Analytical Engine, already contained the logical organisation of a modern computer, more than a century before electronics made it feasible.
The problem of numerical tables
In the early nineteenth century, navigation, astronomy, engineering and finance depended on printed tables: logarithms, trigonometric functions, astronomical positions. These tables were calculated by hand by people called, precisely, computers, then copied, typeset and printed. Every step could introduce errors, and an error in a nautical table could have very real consequences.
Babbage's idea was to remove human intervention from the whole chain: a machine that would calculate the values and print them directly.
The Difference Engine
In 1822 Babbage presented the design of a machine able to calculate tables of polynomials using the method of finite differences. The advantage of this method is that it only requires additions, which are easy to mechanise.
The method by example
Take the function f(x) = x². Its values for x = 1, 2, 3, 4 are 1, 4, 9, 16. The differences between consecutive values are 3, 5, 7. The differences of those differences are always 2.
| x | f(x) | First difference | Second difference |
|---|---|---|---|
| 1 | 1 | 3 | 2 |
| 2 | 4 | 5 | 2 |
| 3 | 9 | 7 | 2 |
| 4 | 16 |
Knowing the initial value and the initial differences, each new value is obtained with two additions: add 2 to the first difference, then add the new first difference to the previous value. A higher-degree polynomial needs more columns of differences, but the principle does not change. Babbage's machine was essentially a set of columns of wheels adding into one another.
Why it was never finished
The project received funding from the British government, and construction was entrusted to the engineer Joseph Clement. The machining demanded mechanical precision at the limits of what was possible at the time. After years of work, rising costs and a dispute with Clement, work stopped in 1833. What remained was a working fragment, which Babbage used for demonstrations in his drawing room.
The Analytical Engine
With the first project halted, Babbage had a far more ambitious idea: not a machine for a single type of calculation, but a general machine able to carry out any sequence of arithmetic operations.
A surprisingly modern architecture
The Analytical Engine was divided into parts with distinct functions:
- The store: columns of wheels that held numbers, the equivalent of memory.
- The mill: the unit that performed arithmetic operations, the equivalent of the processor's arithmetic unit.
- Punched cards: inspired by the Jacquard loom, they supplied both the operations to perform and the data and addresses of the variables.
- Output: a printer and the ability to punch cards with the results.
The design also allowed sequences of cards to be repeated and the next step to be chosen according to a result. These are, in mechanical form, loops and conditional branches: exactly what the Jacquard loom lacked and what distinguishes a computer from a simple calculator.
A machine never built
Babbage kept refining the drawings for the rest of his life, but the Analytical Engine was never built. It was huge, extremely complicated and found no funding. His son Henry, after his father's death, assembled part of the mill. The project as a whole remained on paper.
Vindication: Difference Engine No. 2
Between 1847 and 1849 Babbage designed an improved version of the Difference Engine, simpler thanks to the experience gained with the Analytical Engine. This one was not built either.
More than a century later, the Science Museum in London decided to build it, faithfully following the original drawings and using tolerances achievable with nineteenth-century technology. The calculating section was completed in 1991, for the bicentenary of Babbage's birth, and it worked. The printer was completed a few years later. The experiment showed that the design was sound: what had been missing was not ideas, but organisation, money and persistence.
What remains of Babbage
Babbage's legacy is above all conceptual. The electronics pioneers of the 1940s, for the most part, did not start from his work. Yet the organisation he proposed, with separate memory and arithmetic unit, instructions supplied from outside and control of the flow, is the same one that would prevail.
There is also a practical lesson that anyone managing technical projects will recognise. Babbage constantly changed the design to improve it, before completing a version of it. That risk still exists: the pursuit of the perfect version can prevent you from delivering a working one.
In short
- The Difference Engine, proposed in 1822, calculated tables of polynomials using only additions through the method of finite differences.
- Construction stopped in 1833 because of costs and technical and organisational problems.
- The Analytical Engine separated memory (the store) from calculation (the mill) and used punched cards, loops and conditional choices.
- In 1991 the Science Museum in London completed the calculating section of Difference Engine No. 2, proving that the design worked.