The Historical Development of Computing Devices
The history of computability encompasses thousands of years, involving two semi-independent stories. On the one hand, the development of computational devices dates back to approximately 1000 to 500 B.C.E.. On the other hand, the mathematical and logical history of the development of computation theory only reaches back about half as far to around 400 B.C.E.. This article discusses the history of computing devices. A separate article discusses to the development of the general theory of computation. Readers with selective interests can use the links in the contents window. The article has a somewhat non-standard structure. A somewhat streamlined main narrative runs below. However each of the links in the main article lead to an expansion of the main narrative to include significant detail. I recommend students read the streamlined narrative once, then read the narrative again including the linked content.
The Elements of Computational
Manual Computing Devices
The 16th and 17th Century
The Scottish mathematician John Napier (1550-1617) invented several devices for multiplication. Best known of his devices, the "bones," consisted of a set of rods and a rack. Napier labeled the side of the rack from 2 to 9 so that the user combined the rods and rack to create a 2 to 9 multiplication table for any number. One selects the rods corresponding to the digits in the number and places them together in the rack. To multiply the number by 4, for example, one proceeds along the row marked 4 going from right to left adding the numbers in each parallelogram to give the next digit.
The first slide rule appeared, according to who you consult, at some point between 1622-1625. The modern slide rule is generally thought to be primarily the result of the insights of four men; John Napier, the English astronomer Edmund Gunter, the English mathematician reverend William Oughtred, and a French Artillery officer and geometry professor Amedee Mannheim. The slide rule is based on Napier's discovery of logarithms. Gunter's contribution was to draw a 2 foot long line on which he placed whole numbers spaced at intervals proportionate to their log values. Prior to Gunter, to find the logarithm of a number you either calculated it yourself or looked it up on one of the standardized tables. The former was time consuming, while the later suffered from the many errors introduced in the calculation and reproduction of the tables. Using Gunter's line, one can find one's values simply by measuring distances between numbers. Oughtred took the process a step further by opposing two of Gunter's lines and showing how one can perform calculations by moving the two lines relative to one another. Manheim introduced the ten inch design movable double sided cursor while a student in Paris. Since the slide rule works by manipulating distances to perform calculations, it is probably the first analog computer ever to have widespread use. In fact, it was used in engineering, science, and math as late as 1972. Since the slide rule is an analog device it's accuracy (and usefulness) were dependent upon the accuracy limitations of of the technology used in it's manufacture. Early slide rules had an accuracy of only three digits. This proved sufficient precision for most works, but was not suited to situations where greater accuracy was needed.
As with Di Vinci, a chance discovery in 1935 and again in 1956 of some of German astronomer and mathematician Wilhelm Schickard's (1592-1635) letters to his friend Johannes Kepler showed that Schickard devised a mechanical calculator in 1623. Schickard's invention was described to Kepler as a mechanical means for calculating ephemerides. Only two prototypes (now lost) were ever built at the time, one of which was used by Kepler. Schickard's machine has been reconstructed (1960) based upon his diagrams.
Blaise Pascal (1623-1662), an 18-year-old in 1642, invented what has come to be known as the "Pascaline" (his name was "numerical wheel calculator") to facilitate his father's work as a French tax collector based in Paris. The numerical wheel calculator, or Pascaline, consisted of a rectangular box employing eight movable cogwheels or dials exploiting base ten to perform addition of sums up to eight figures long. Specifically, as the dial for the one's column completed one revolution (moved ten notches), it moved the next wheel, representing the tens column, one place. A complete revolution of the tens dial increased the hundred's dial one notch, so on through the entire eight wheels. To add with the Pascaline one moved the cogwheels to the first number followed by each of the other numbers to be added. The Pascaline, though clever in design, had two shortcomings: (1) The user had to configure the wheels manually, and (2) its straightforward computational abilities extended only to addition. The Pascaline could be used to subtract and multiply (by successive addition) though each operation required much more from the user.
Gottfried Wilhem von Leibniz (1646-1716), a German mathematician and philosopher, studied Pascal's original notes and drawings to created a machine that improved upon the Pascaline. Leibniz's machine could add, subtract, multiply and divide. Leibniz modified the machine to include a stepped-drum gear design, called the Leibniz Wheel. The Leibniz wheel was a movable carriage connecting pin wheels like Pascal's via stepped cylinders containing ridge-like teeth of different lengths corresponding to the digits 1 through 9. Turning the crank that connected the cylinders engaged the smaller gears above the cylinders, and these in turn engaged the adding section. The adding section consisted of a cylinder on which gearing teeth were set at varying lengths, which functioned as combined series of simple flat gears. Leibniz called his final creation, commissioned in 1674, the Stepped Reckoner. The Reckoner, however, required some user manipulation for carry-overs and often gave the wrong answers. A design error in the carrying mechanism caused the machine to fail to carry tens correctly when the multiplier was a two or three digit number. Both Charles, the third Earl Stanhope, (English 1775) and Mathieus Hahn (Germanic; started 1770, finished 1776) did make their own successful multiplying calculator similar to Leibniz's.
The calculators of the 16th and 17th century provided (to a limited extent) a proof of concept that mechanical methods embodied in machines could perform lengthy and involved numerical calculations. These machines represent the basic insights used in constructing mechanical calculators until the middle of the 20th century. Nevertheless, the invention and use of devices capable of lengthy computations still required the development of several key elements. First, the machines of the 17th and 18th centuries operated at best semi-automatically. At each new stage of a calculation the user has to manually intervene. Second, every machine is a special purpose machine designed and constructed to perform a single task or a very small number of tasks. Third, each individual calculation required the user to configure the machine. There was no notion of a program, i.e., a set of instructions written in terms of a set of basic operations, which would allow the machine to perform a wide array of tasks by utilizing different sequences of its basic operations. Fourth, with the exception of the representation of input/output, no element of these machines can serve as memory, either for a program or for intermediate or partial results. In certain cases, users wrote down partial results and later re-entered them when they were needed to finish a calculation. Finally, since these machines operated by mechanical means, they were limited in complexity and speed. The history of calculating machines from Leibniz to ENIAC and ACE is largely one of the ideological and technological advances that culminate in the construction of general purpose programmable computers.
The 18th and 19th
The next significant development in computing did not occur until the 1820's. Charles Xavier Thomas de Colmar (1785-1870), a French industrialist, constructed and mass-produced the first calculator. Like Mueller, de Colmar began developing his idea while in the army. De Colmar's "Arithmometer" employed the same stepped cylinder approach as Leibniz's calculator. In addition to multiplication, the Arithmometer could also perform division with user assistance.
In 1811 a young
Babbage, the son of a banker and a gifted mathematician,
entered Cambridge. According to Babbage's account in his autobiography,
Passages from the Life of a Philosopher, his attention was first
drawn to computing machinery in 1812 when
Some doubt the veracity of Babbage's above account. Babbage definitely did not act on his ideas until 1819 in connection with checking tables for the Royal Astronomical Society. The astronomical data, values for logarithms and trigonometric functions, as well as various physical constants encoded in the tables were heavily and extensively employed for scientific experimentation and nautical navigation. The standard government tables for navigation, for instance, were known to have in excess of a 1,000 errors. Corrections for the navigation tables encompassed seven volumes. Babbage knew that the sources for the errors were the humans who had produced the tables. The tables had been produced manually, and in some cases measures dated back over two centuries. In such an exhaustive compendium compiled over such a long expanse of time human calculating errors compounded by copyist mistakes had infected the tables like a virus. Since the calculations for the tables were to a large extent tedious and mechanical, Babbage realized that a machine that could produce the tables would eliminate calculating and transcription errors as well as being incapable of suffering from the tedium of the task.
Babbage's first important step, and the only one which he fully realized, was the conception and construction of a prototype for his Difference Engine. The Difference Engine, if Babbage had completed it, would have evaluated polynomials using the method of differences. Babbage began work on the prototype machine in 1819 and successfully demonstrated the machine (without the ability to print its answers) for the Royal Astronomical Society in 1822. The function Babbage computed for the royal society was 41 + n + n2. At his demonstration Babbage proposed building a version of the machine that could calculate the necessary values and print these scientific tables. Impressed, the Society awarded him a gold medal and supported Babbage's proposal to build a full scale difference engine with an accuracy of 20 decimal places. In 1823, with an initial (and historic) grant of 1,500 English pounds, Babbage set to work. In addition to providing Babbage with a grant to produce the full scale Difference Engine, Babbage's prototype also brought him into contact with Ada, Countess of Lovelace. Ada was the only legitimate daughter of the poet Lord Byron (though she never lived with him). The teenaged Ada Byron encountered the prototype and Babbage when at a society function intended to show off new inventions. Miss Byron, who had been tutored by a family friend the great logician Augustus De Morgan, showed considerable intelligence, mathematical, and logical ability. She immediately grasped the workings of the machine and it's potential. In fact, Babbage once commented that she understood it better than himself and explained its functioning far better than he could. She and Babbage maintained constant contact for the rest her life.
By 1840 Babbage had long ago (about 7 years) abandoned work on the Difference Engine with only half of its 25,000 parts completed and only a single fragment assembled. He had suffered endless struggles for funding, accusations of fraud, and controversies with his academic peers, while spending 34,000 pounds of his own and the British Government's money. In 1840 Babbage had begun touring the continent lecturing upon his new invention (which the British government refused to fund), the Analytical Engine. Babbage's design for the Analytical Engine represents the first design for a computer in the modern sense. It had a memory, a processor, and a program.
In devising the Analytical Engine Babbage utilized Joseph-Marie Jacquard's 1801 technology if encoding data on punch cards. Jacquard used pasteboard punch cards to encode patterns that could then guide the behavior of looms. The Analytical Engine had two pasteboard memory stores. One store held the "operation cards" specifying what Babbage called the formula (the program). The other store held the "variable cards" which determined the variables upon which the formula would operate as well as any intermediate values. The two stores fed into the mill, which then carried out the computations.
The countess of Lovelace played an extremely important role in the development of the Analytical Engine. She translated a French publication of notes on Babbage's Lectures on the Analytical Engine into English, adding an addendum that was longer than the article, but so insightful that Babbage urged its publication in toto. Her translation with addendum appears n 1843 under the initials AAL in the September 1843 edition of Taylor's Scientific Memoirs. Though Babbage may have written algorithms for the difference engine in earlier notes, the algorithm in Lovelace's 1943 article makes her the first person to publish an algorithm intended to be carried out by such a machine. As a result, she is often regarded as one of the first computer programmers. The countess also developed the programming techniques of subroutines, loops, and jumps. In addition, she meticulously documented the design and logic of the engine, providing the only clear records now available. She was, likewise, the first to recognize the engine’s potential for applications beyond numerical calculation.
A few years before his death Babbage began to fabricate the mill of the Analytical Engine. After Babbage's death the British Association for the Advancement of Science submitted a report (1878) recommending against construction of the Analytical Engine. In 1888 his son had completed the mill for the engine to a great enough extent that he used it to calculate to its 44th place. By 1906 the mill was fully completed.
Though Babbage failed to produce a working difference engine, in 1834 Georg Scheutz, a Swedish printer, publicist, writer, Shakespeare translator, and engineer, read of Babbage's difference engine in an article in the Edinburgh Review written by Dionysuis Lardner. Working with his son Edvard, Georg Scheutz began to build a smaller version of the difference engine. Edvard was still in high school, and the two made their first engine in their kitchen from wood using hand tools and a makeshift lathe. Utilizing slightly different principles the Scheutz's constructed a working difference engine capable of storing 15-digit numbers and calculating fourth-order differences. Father and son demonstrated their difference engine for Babbage in 1854 who received them warmly. At the Exhibition of Paris in 1855, their machine won the gold medal. Ultimately, they sold it to the Dudley Observatory in Albany, New York. The observatory calculated the orbit of Mars with the Scheutz machine. Despite their success at making working engines, the father and son team's effort was a financial failure.
While Babbage and the Scheutzs labored to implement digital computing instruments, James Thomson developed an analogue computer in the form of a mechanical integrator to predict the tides using harmonic analysis. Thomson completed his work between 1861 and 1864. Thomson's brother William, Lord Kelvin, combined several of Thomson's integrators to develop the actual tidal analyzer/predictor. Kelvin published papers in 1876 outlining the utilization of integrators to build a device for solving differential equations. The machines built and envisioned the Thomson brothers were analog devices, which operated by creating mechanical relationships which were isomorphic to (had the same structure as) the equation to be solved. The solution is computed by running the machine and recording what happened to the quantity of interest.
The Late 19th and 20th
Also of note, was the development of analog computing devices. Scientists of this time rarely employed digital computing methods. Analog devices were in wide use, especially in engineering calculations, where the slide rule was indispensable. The first truly significant development of the era was the construction in 1930 of a large-scale differential analyzer by Vannevar Bush at MIT and funded by the Rockefeller foundation. Based upon work during the 1920's (independently of Kelvin's insights) the machine, which was the largest computational device in the world when built, could perform integration and differentiation.
The next innovation chronologically was Kanrad Zuse's early prototype, originally named the "V1". Renamed the "Z1" after WWII, the Z1 was the first in series of four mechanical binary programmable calculators developed by Zuse implementing the same abstract design concept. Zuse, an engineer, conceived the idea of mechanically calculating his studies in the mid 1930's. Zuse wanted as general a computing machine as possible, and which could compute a series of equations. Zuse envisioned a design quite similar in approach to Babbage's Analytical Engine despite having no contact with Babbage's ideas until 1939. Zuse's machine would have had a data recording memory, a basic arithmetic unit, and a unit to coordinate operations and data (control), a program unit to enter programs and data, and a printer to record the results. Unlike Babbage's machine, the Z1 used binary representations of data and Boolean algebra to describe and implement the operations of the machine. The switch to binary and Boolean algebra represented a significant advance as it avoided many of the design and engineering problems faced by Babbage. The Z1 used a memory of sliding metal parts to store up to sixteen numbers. Computations remained largely mechanical. The program was input with punch tape of recycled 35mm movie film. The data values were entered through a keyboard, and outputs were displayed on electric lamps.
In 1939 Zuse completed the Z2 (formerly V2). Electro-mechanical relays replaced mechanical calculation machinery at the suggestion of Helmut Schreyer a friend and electrical engineer. The memory design remained sliding metal parts. The Z2 worked, and worked extremely quickly for the time. Zuse would go on after his conscription to develop a Z3 and Z4 for the German Aerodynamics Research Institute. An incomplete Z4 survived the war in a basement. Zuse reconstructed the Z4 some time in the late 1940's in Zurich, where it would reign as the most powerful calculating machine on mainland Europe for several years.
From Calculators to Computers:
The Final Step
The most widely known electro-mechanical programmable calculator was constructed by Howard Aiken and his group at Harvard in 1943. Named the "ASCC Mark I" ("Automatic Sequence-Controlled Calculator Mark I") or the "Harvard Mark I," it measured 51 feet in length, weighed 5 tons, employed electro-mechanical relays, and totaled three-quarters of a million parts. It's speed was comparable to the Z3, and it read programs from a tape. In addition to Aiken, Grace Hopper worked on the project for many years both for the navy and for Harvard.
To understand the British developments at this time, one must backtrack to 1938. At that time the British Intelligence Service acquired a working description of the German coding device, the ENIGMA machine. Later Gustav Bertrand delivered a working copy of an ENIGMA from France. In 1940 Alan Turing went to France to meet with Polish Cryptanalysts. Turing returned with a knowledge of their bombes, machines used to aid in cracking the codes. ENIGMA operated by having a huge number of encryption schemes from which the user selected. The encryption, the mapping of a letter to a coded symbol, changed in a determinate manner for each letter one entered. Messages typed on the properly configured ENIGMA would appear in an encrypted form to be transmitted to the receivers, whose knowledge of the settings allowed them to decipher the message. The German High Command used ENIGMA to communicate all of their important messages to troops in the field. When the British intercepted a German message, they could decode it provided that they knew the keyword used to encode it. Knowledge of the internal working of ENIGMA greatly reduced the number of candidate keys consistent with a particular intercepted message, but typically an enormous number of possible keys still had to be ruled out. The frequency of code changes (three times a day) and the labor involved in testing possible keys meant that manually decoding a message would prove too time consuming to allow the English to benefit from the time-sensitive information it contained. What was required was a means of rapidly exploring and eliminating possible keys. Early in WWII the British started Project ULTRA at Bletchley Park (between Oxford and Cambridge). Researchers at Bletchley Park initially designed several small machines which like their Polish counterparts, they called "Bombes" to search through possible encryption schemes. Constructed using electronic relays, Bombes proved quite helpful in decoding more ordinary messages. However, the Germans used a very different code and machine built by the Lorenz Corporation and called the Lorenz when encrypting high-level strategic commands. COLOSSUS, a electric relay machine, was constructed in 1943 as a fully automatic decryption device for these high-level messages. COLOSSUS incorporated an estimated 1,800 to 2,400 vacuum tubes. COLOSSUS received input from 5 paper tape readers at a speed of approximately 5000 characters a second.
The Dean of the Moore School of Electrical Engineering at the University of Pennsylvania, John Brainerd, supervised the construction of last of the wartime programmable calculating devices, which was eventually named ENIAC: Electronic Numerical Integrator and Calculator. ENIAC is often described as the first electronic programmable computer. In 1935 the US Army's Ballistic Research Laboratory had begun using a Bush Differential Analyzer to compute trajectory tables. However, because of the limitations of the Ballistic Research machine, the Army contracted with the Moore School in 1942 for exclusive use of their, much better, analyzer. Brainerd headed the project that included engineer Dr. J. Presper Eckert and physicist Dr. John W. Mauchly. Eckert began his collaborations with Mauchly in 1941 when Eckert attended the Moore School and Mauchly began working there. Mauchly had familiarized himself with John Atanasoff's work on an electric computer when visiting Iowa State prior to his arrival at the Moore School. In consultation with Eckert, Mauchly outlined his idea for an electric computer in a 1942 memorandum. At that time the scientists at Ballistic Research and Moore School found themselves struggling to keep pace with about six trajectory table requests a day. Over the next roughly six month Mauchly and the Moore School group convinced the head of supervisor of computational training and activities, Dr. Herman H. Goldstine, that electronic devices could attain much higher computational speed. The U.S. government agreed to provide 61,700 dollars for Mauchly's and Eckert's plan to build an electronic calculator, ENIAC, in May of 1943. The project was dubbed "Project PX." Bureaucratic formalities meant that, ironically, Mauchly never officially held a position as a researcher on Project PX. As an instructor at Moore, Mauchly could only act in the capacity of a consultant to the project. It was completed in May 1944 and demonstrated in 1945, with a cost overrun of approximately 450,000 dollars. Its main designers and implementers were John Mauchly and J. Presper Eckert. Brainerd's team completed ENIAC too late to fulfill it's original mission to create artillery tables for WWII, though it saw extensive use in the hydrogen bomb project. ENIAC distinguished itself from other calculating devices in two ways. First, it was extremely large (100 x 10 x 3 feet). Weighing 30 tons, it had over 100,000 components, approximately 18,000 of them vacuum tubes. Second, it was much faster than previous machines, multiplying in under .003 seconds. Though ENIAC had many of the qualities of modern computers, one reason not to call ENIAC the first general purpose electronic computer is it that it had no internal memory for storing programs. Setting-up the machine for a calculation required manually configuring all of the subunits using banks of switches located at various parts of the machine, connections between different subunits had to be set, the main programmer unit had to be set, and constants had to be input using switches. This was time consuming and also limited the unit's speed. Despite ENIAC's limitations, the work at the Moore School influenced all of the major post-war computing projects for years to come. One source of this influence was the summer school on computers hosted at the University of Pennsylvania in 1946. In attendance at the summer school were nearly all of the major figures in computing.
The other major vehicle whereby the Moore School influenced future computing machines was also a source of controversy. In 1944 the famous Princeton mathematician John von Neumann joined the Moore School team as a consultant. Von Neumann had been on Alan Turing's dissertation committee at Princeton and had developed a strong interest in computing machines while working on the Los Alamos atomic bomb project. The Moore School team was already developing designs for ENIAC's successor. Von Neumann compiled their ideas in a report. In 1945 von Neumann began circulating the report. Early versions of the report did not list Mauchly and Eckert as authors. Von Neumann explained this as a typo and later versions did include the two. However, by that time the report, which importantly reintroduced the idea of a internally stored program, was so strongly associated with Von Neumann, that he is generally credited with the insights it contained even today.
By March 1946, Mauchly and Eckert left Moore to found the Electronic Control Company. At least part of the reason for their departure was disputes over whether they would retain the patent for ENIAC. ECC built BINAC for Northrop, which used magnetic tape for memory. The company then became the Eckert-Mauchly Computer Corporation, which built 46 UNIVACs, which could handle both alphabetical and numerical information.
Max Newman had contact with Bletchley Park, Turing, and the Moore School. Together with Freddie Williams and the Manchester University (Manchester, England) research team, Newman completed the "Mark I" or "Manchester Mark I" in June of 1948. This is the first machine with a true stored-program capability developed by Williams. The memory exploits the somewhat unreliable mechanism of encoding data through the residual charge left on the surface of a cathode ray tube (CRT) as the result of firing an electron beam at it. Though limited in reliability, the memory was fast, cheap, and small. Data is stored in memory by firing the electron beam at the screen. Data is read from memory by firing another beam and measuring the resulting voltage with an electrode beyond the screen. Eventually, the Manchester machine also employed a primitive form of assembly language developed by Turing to replace the use of binary in input and output. A year later (May 1949), Maurice Wilkes and his team at the Mathematical Laboratory at Cambridge University completed EDSAC (Electronic Delay Storage Automatic Computer). EDSAC was the first functional and practical electronic digital computer to utilize a stored-program. Like the Manchester system, its memory, the "Ultrasonic Delay Line," seems somewhat exotic today. It consisted of a set of mercury baths whereby data is represented through the continuous conversion of electric signals into acoustic pulses which are sent across the bath and then reconverted at the other side. Wilkes had attended a 1946 summer school on computers at the University of Pennsylvania, returning with the goal of building a computer along the lines of Von Neumann's outline.
EDVAC and IAS computers were not completed until 1952.
The IAS, built at Princeton's Institute for Advanced Studies, was Von Neumann's
realization of the design outlined in the EDVAC report. To a large
extent, IAS served as the blueprint for most computers built since. At the
same time, IBM introduced their first mass production computer, the IBM
701. The 701had 1kb of RAM and could write to a tape drive. Of course, the years following 1952 have ushered in enormous innovations
which go beyond the scope of this article.