British mathematician and pioneer of computing Charles Babbage (1791 - 1871) discussed the principles of a calculating engine in a letter to Sir Humphry Davy. He began in 1822 with what he called the difference engine, the forerunner of the modern computer, made to calculate values of polynomial functions, removing human sources of error.


Three different factors seem to have influenced him: a dislike of untidiness; his experience working on logarithmic tables; and existing work on calculating machines carried out by Wilhelm Schickard, Blaise Pascal, and Gottfried Leibniz.



Although Babbage's machines were mechanical monsters, their basic architecture was astonishingly similar to a modern computer. The data and program memory were separated, operation was instruction based, the control unit could make conditional jumps and the machine had a separate I/O unit.