Ada Lovelace. Image from The Lovelace-Byron collection
In the early 1800s, computers referred to people making calculations by hand. These calculations were published as tables or used in charts or almanacs. This, however, created a lot of errors.
In 1819, Babbage started work on his first “Difference Engine 0”. This was a small hand-cranked decimal-based machine. Construction was finished in 1822, and in the same year, he presented a paper to the Royal Astronomical Society entitled, “Note on the application of machinery to the computation of astronomical and mathematical tables”. The British government became interested in a full-scale model since producing tables automatically would be both cheaper and faster than producing them manually.
The "Difference Engine" at full scale would have had around 25,000 parts, stood 2.4 metres tall, and weigh 13,600 kilos.
The Difference Engine
The machine worked by using polynomial functions, that is, a system that uses variables and coefficients, and fairy simple mathematical functions – addition, subtraction and multiplication. It did this by applying an algorithm called “divided differences”.
It consisted of a series of columns, each representing a number value with each column showing part of the result of the calculation. It was designed to make calculations with sixteen digits and six orders of magnitude – that is, a range between one and a million, or a thousand and a thousand million. Babbage planned an automated printer for the output.
Charles Babbage. Image from the Science Museum, London
Babbage had a somewhat spiky personality which led to fallings-out with the Astronomer Royal, George Bidell Airy, and later with his engineer, Joseph Clement. The machine’s costs kept rising with little to show. This is partly because Babbage was dreaming of a more advanced machine. In 1842, though. government funding was cut, after having spent £17,000 (over £3.3 million today) on the machine.
Analytical Engine
Babbage's next machine would be called the Analytical Engine and it was to have been of much greater complexity. Instead of automated calculations, the Analytical Engine was a programmable system. It had elements that are present in modern systems – memory (known as the store), conditional branching, loops, and an arithmetic unit (known as the mill). The machine used two sets of punched-card readers for input of data and instructions, and could output the results using a card punch, an automatic printer, a plotter for curves, and a bell (presumably to alert the operator that a process had finished).
The machine, like its predecessor, was based upon decimal (base ten) calculations. The mill itself used a collection of rotating barrels with pegs mounted on them for its internal state changes and management. The store had the capability to hold up to one thousand forty-digit numbers. It was programmed in a low-level language – similar to how assembly language is used today. The whole machine would have been powered by a steam engine.
Difference Engine. Image from the Science Museum, London
Between 1837 and 1840 Babbage wrote around twenty programs, treating polynomial functions, solving linear equations and various other mathematical functions. The Italian mathematician Luigi Federico Menabrea wrote the paper “Sketch of the Analytical Engine Invented by Charles Babbage, Esq.” in French in 1842, and was translated and annotated by Ada Lovelace.
In her notes she adds a method of calculating Bernoulli Numbers, which is seen as the first complete computer program, making Ada Lovelace the first computer programmer.
This ambitious project, however, never really took off and a completed Analytical Engine was never finished.
Later in his life, Babbage attempted to create a simplified version of his machine, but died in 1871 before he could build more than a small part. Ada Lovelace, later Lady King, died in 1852 at the age of 36.
There were a few attempts to build the Engine after Babbage’s death. His son, Henry Prevost Babbage tried between 1880 and 1910, but with little result. Unfortunately, there has been no attempt to build this miraculous invention since. We can only hope and wait.
Further reading:
A history of computing I: The Antikythera Mechanism
History of Computing II: Monsieur Jacquard and his Magic Cards
Virtualisation: A technical evaluation