B. RANDELL Computing Laboratory, University of Newcastle upon Tyne
This account describes the history of the development of digital computers, from the work of Charles Babbage to the earliest electronic stored program computers, It has been prepared for Volume 3 of “l’Histoire Générale des Techniques,” and is in the main based on the introductory text written by the author for the book “The Origins of Digital Computers: Selected Papers” (Springer Verlag, 1973).
1. Charles Babbage
THE first electronic digital computers were completed in the late 1940’s. In most cases their developers were unaware that nearly all the important functional characteristics of these computers had been invented over a hundred years earlier by Charles Babbage. It was in 1821 that the English mathematician Charles Babbage became interested in the possibility of mechanising the computation and printing of mathematical tables. He successfully constructed a small machine, which he called a “difference engine,” capable of automatically generating successive values of simple algebraic functions by means of the method of finite differences. This encouraged him to plan a full-scale machine, and to seek financial backing from the British government. During the next 12 years both Babbage and the government poured considerable sums of money into the attempt at building his Difference Engine. However the project, which called for the construction of six interlinked adding mechanisms, each capable of adding two multiple-digit decimal numbers, together with an automatic printing mechanism, was considerably beyond the technological capabilities of the era – indeed it has been claimed that the efforts expended on the Difference Engine were more than justified simply by the improvements they generated in mechanical engineering equipment and practice. Although Babbage’s plans for a Difference Engine were somewhat premature, the basic scheme was vindicated when in 1843, inspired by their knowledge of his work, George and Edvard Scheutz successfully demonstrated a working prototype difference engine. A final version of this model was completed 10 years later, with financial assistance from the Swedish government. Several other difference engines were constructed in the decades that followed, but such machines never achieved the importance of more conventional calculating machines, and when multi-register accounting machines became available in the 1920’s it was found that these could be used essentially as difference engines. However Babbage’s ideas soon progressed far beyond that of a special-purpose calculating machine – in fact
almost as soon as he started work on his Difference Engine he became dissatisfied with its limitations. In particular he wished to avoid the need to have the highest order of difference constant, in order to be able to use the machine directly for transcendental as well as algebraic functions. In 1834 Babbage started active work on these matters, and on problems such as division and the need to speed up the part of the addition mechanism which dealt with the assimilation of carry digits. He developed several very ingenious methods of carry assimilation, but the time savings so obtainable would have been at the cost of a considerable amount of complex machinery. This led Babbage to realise the advantages of having a single centralised arithmetic mechanism, the “mill,” separate from the “figure axes,” i.e., columns of discs which acted merely as storage locations rather than accumulators. Babbage’s first idea for controlling the sequencing of the various component mechanisms of the engine was to use “barrels,” i.e., rotating pegged cylinders of the sort used in musical automata. He first planned to use a set of subsidiary barrels, with over-all control of the machine being specified by a large central barrel with exchangeable pegs. However in June 1836 he took the major step of adopting a punched...