The idea of using machines to solve mathematical problems
can be traced at least as far as the early 17th
century. Mathematicians who designed and
implemented calculators that were capable of
addition, subtraction, multiplication, and division
included Wilhelm Schickhard,
Blaise Pascal (Pascal's contribution to
computing was recognized by computer scientist
Nicklaus Wirth,
who in 1972 named his new computer
language Pascal (and insisted that it be
spelled Pascal, not PASCAL)) and Gottfried
Leibnitz.
The first multi-purpose, i.e. programmable, computing device was probably Charles Babbage's Difference Engine, which was begun in 1823 but never completed. A more ambitious machine was the Analytical Engine. It was designed in 1842, but unfortunately it also was only partially completed by Babbage. Babbage was truly a man ahead of his time: many historians think the major reason he was unable to complete these projects was the fact that the technology of the day was not reliable enough. In spite of never building a complete working machine, Babbage and his colleagues, most notably Ada (Another pioneer with a programming language named after her. Naming languages after mathematicians is somewhat of a tradition in computer science. Other such languages include Russel, Euclid, Turning, and Goedel.) Countess of Lovelace, recognized several important programming techniques, including conditional branches, iterative loops and index variables.