Today, December 26th, marks 222 years since Charles Babbage was born in London, and little did his parents know that by bringing him into the world, they had given birth to a little boy who would grow up to become known as “the father of the computer”.
Babbage created the concept of the world’s first programmable computer, although obviously a far cry from the machines that we are used to today. He did design and make several machines that were then extremely advanced for the day and age, but unfortunately did not finish any of them, which is why he is mainly credited with the concept and not the manufacture.
The first machines Babbage invented were mechanical based and he first explored this concept in 1812, during his time at the Analytical Society. As mathematical tables, used at the time for science, engineering and navigation, were computed manually, mistakes happened frequently, and Babbage’s idea was that, if these could be computed mechanically, these mistakes would be avoided. This would be better for all concerned, and in 1822 Babble designed the Difference Engine, which was made to compute values of polynomial functions. A prototype was put into progress, but Babbage fell out with the designer, Joseph Clement, in 1831, and the Difference Engine was never completed.
All of Babbage’s designs had separate data and program memories, separate I/O units, the control units could make conditional jumps, and the operation was based on instructions input by the user – not that dissimilar to how our modern day computers work.
Year of Concept: 1822
Purpose: Compute values of polynomial functions
• Able to store one decimal number in each column, 1-N
• Subtraction and addition
Succeeded By: Difference Engine No.2
Difference Engine No.2
Year of Concept: 1889
Purpose: Compute values of polynomial functions, improved on the work made with the original Difference Engine
• Less parts used in construction
• Quicker than the original Difference Engine
Succeeded By: Analytical Engine
Year of Concept: 1830s/1840s
Purpose: General purpose mechanical computing
• Control flow – conditional branching and loops
• Integrated memory
• Arithmetic logic unit
• Program controlled by punched cards
• Turing-complete, in principal