The analytical engine, an important step in the history of computers, is the design of a mechanical, modern general purpose computer by the British professor of mathematics Charles Babbage. It was first described in 1837, but Babbage continued to work on his design throughout his life, which ended in 1871. Because of financial and technical problems, the engine was never actually built. It is generally acknowledged however that the design was correct and that the engine would have worked. Comparable general purpose computers did not come into existance until about 100 years later.
Babbage started out by constructing his Difference engine, a mechanical special purpose computer designed to tabulate logarithms and trigonometric functions by evaluating approximating polynomials. When he realized that a much more general design was possible, he started work on the analytical engine.
The machine was to be powered by a steam engine. The input (programs and data) was provided to the machine on punch cards, a method being used at the time to direct mechanical looms. For output, the machine was planned to have a printer, a curve plotter and a bell. Numbers could also be punched onto cards to be read in later. It employed ordinary base-10 fixed point arithmetic. There was a store capable of holding 1000 numbers of 50 digits each. An arithmetical unit (called the "mill") was able to perform all four arithmetical operations.
The programming language employed was akin to modern day assembly languages. Loops and conditional branching were possible. Three different types of punch cards were used: one for arithmetical operations, one for numerical constants, and one for load and store operations, transfering numbers from the store to the arithmetical unit or back. There were three separate readers for the three types of cards.
In 1842, the Italian mathematician Menabrea, who had met the travelling Babbage in Italy, wrote a description of the engine in French, which was translated into English and extensively annotated by Lady Ada Augusta, Countess of Lovelace in 1843. She had become interested in the engine already 10 years earlier, and based on her additions to Meneabrea's paper, she may be described as the first programmer.
In 1878, a committee of the British Association for the Advancement of Science recommened against constructing the analytical engine.
In 1910, Babbage's son Henry P. Babbage reported that a part of the mill and the printing apparatus had been constructed and had been used to calculate a (faulty) list of multiples of Pi. This constituted only a small part of the whole engine; it was not programmable and had no storage.
The cyberpunk novelists William Gibson and Bruce Sterling co-authored a steampunk novel of alternative history entitled The Difference Engine in which Babbage's difference and analytical engines became available to Victorian society. The novel explores the consequences and implications of the early introduction of computational technology.
From Babbage's autobiography:
- As soon as an Analytical Engine exists, it will necessarily guide the future course of the science.
- The Analytical Engine at Fourmilab
- L. F. Menabra, Ada Augusta "Sketch of the Analytical Engine" Bibliothèque Universelle de Genève, October, 1842, No. 82 online version