The Historical Development of Computing Devices

   

Contents

Introduction
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 Devices
All computational devices share the same general four features: They all have (1) a physical structure, a medium that serves as the element of the system that can represent the objects, properties, events, relations, etc. for which the machine solves problems.  For instance, the abacus pictured below has a series of rods and beads.  These rods and beads constitute the physical structure serving as the representational medium for the abacus.  The rods and beads can serve as the representational structure in the abacus since the rods and beads constitute distinct components having distinct relationships to one another.  Of equal importance, these elements are capable of altering their relationships in systematic ways.   (2) All computational devices have an interpretation function, a mapping that assigns elements of the structure in the device to elements of the problem domain that prove significant for the problem(s) the device solves.  The interpretation function maps the structure to the elements of the problem domain in a systematic fashion so as to preserve the structural relationships between significant elements of both the device and the problem the domain.   In the case of the abacus, the interpretation function maps the rods and beads to numbers and decimal places.   (3) All computational devices have a set of structure-specific transformation operations that transform the structure of the device in a fashion that mirrors the structural changes in the domain appropriate to the solution of the problem. In the abacus case, the rules for moving beads on rods and across rods constitute a set of transformation rules that preserve mapping of beads and rods to numbers and decimal places in a manner that mirrors numeric functions like addition.  For additional details, follow the abacus link below.  (4) Finally, all computational devices include a control structure.  Control structures determine the order of the transformation operations for any given computation.  In our abacus case, the human operator must supply the control structure.  To use an abacus, therefore, one must learn how to move the beads on the rods in order to perform a calculation.  As we will see, an important part of the history of the development of computing devices involves the incremental automation of computing through the incorporation of the control structure into the device itself.

Picture of an abacus.  The abacus represents the earliest known computational device in that it incorporates the four central components of computational devices.  (1) A structure serving as the representational medium.  I the abacus the rods and beads serve as the structure.   (2) An interpretation function that maps the structure to the elements of the problem domain in a systematic fashion so as to preserve the structural relationships between significant elements of the domain.  (3) A set of structure-specific transformation operations that transform the structure of the device in a fashion that mirrors the structural changes in the domain appropriate to the solution.  In the abacus case the operations are the rules for moving beads on rods and across rods so as to mirror numeric functions.  (4) A control structure which selects among the transformation operations and determines their order of execution during computation.

 

Early Beginnings: Manual Computing Devices  
The first known device for numerical calculating is the abacus.  It's invention in Asia Minor dates to approximately 1000 to 500 B.C.E..  Abacus users compute bymoving a system of sliding beads arranged in columns on a rack. Merchants of the time used the abacus to keep track of trading transactions until the use of paper and pencil undermined its importance especially in Europe. One can use the abacus to add, subtract, multiply, and divide. In fact, mathematicians have  demonstrated that all Turing computable functions are

Incan Quipu Modern Horizon period approximately 600-1000 A.D.E.
abacus computable. However, the abacus requires the user to directly manipulate the device fo eachstep in a given computation. For this reason it has little in common with modern computers that perform many or most operations without the direct manipulation of the user (i.e., automatically).

During what scholars call the modern Horizon period, approximately 600-1000 A.D.E.  The Incas employed a device called the Quipu or khipu.  This device consists of a series of cotton cords.  There is a main cord from which from which many "pendant" cords hang.  While Quipus seemed to be a general data bearing device (for instance colors of cords were used to represent different materials and states of affairs), one well-documented use was to represent quantities and calculate numbers.  Knots in the pendant cords angd their relative position on the cord allowed the Incas to represent numbers using a decimal system (1s, 10s, 100s, etc.).


The 15th and 16th Centuries
In 1967 American researchers discovered 2 unknown (or lost) notebooks of Leonardo Di Vinci (1452-1519) in the National Library of Spain in Madrid. Written between 1503 and 1505 these works, called the "Codex Madrid," were examined shortly after their discovery by Dr. Roberto Guatelli.  Guatelli had an international reputation as an expert on Leonardo Di Vinci with a specialty of building working replicas of Di Vinci inventions. Guatelli recalled a drawing in the "Codex Atlanticus" (1480-1518) that was similar to the "Codex Madrid" calculator. Using both manuscripts Dr. Guatelli built a controversial (and now lost) replica of the da Vinci machine in 1968. In Guatelli's replica da Vinci's machine operates in a manner similar in principle to Pascal's later machine (1642).   Most historians do not believe that da Vinci intended to design a calculator.  Da Vinci himself probably could not have built the machine as the frictional resistance generated by the machine would have been excessive for the materials of the time. 

 

The 16th and 17th Century
The use of such semi-automatic or automatic machines such as that envisioned by Di Vinci to solve mathematical problems developed primarily during the early 17th century. Early machines where designed and even built by mathematicians. These machines were calculators of sorts which were capable of basic arithmetical operations like addition, subtraction, multiplication and division. Among the early creators of such devices were John Napier, Wilhelm Schickhard, Blaise Pascal, and Gottfried Leibniz.

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 Centuries
The development of more sophisticated computing machines in the 19th century was marked by more failure than success. In part the failures were due to the sheer complexity of the task. In part they were due to funding problems caused by the inability to envision the full impact of such machines upon diverse human activities. At the end of the 18th century, in 1786, J. H. Mueller, a Hessian army officer, conceived the idea of what Babbage later calls the Difference Engine. Specifically, Mueller envisioned a mechanical calculator for determining polynomial  values using Newton's method of differences.  The method works by using a constant derived from subtracting values for the polynomial which can then be used to uniquely specify other values for the polynomial for a fixed interval.  Such a machine, though seemingly as specialized as the Pascaline, can be used to calculate values for any function that one can approximate over suitable intervals by a polynomial.  Mueller's fund raising efforts proved fruitless, and the project was forgotten.

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 Charles 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  
 

... I was sitting in the rooms of the Analytical Society, at Cambridge, my head leaning forward on the table in a kind of dreamy mood, with a table of logarithms lying open before me. Another member, coming into the room, and seeing me half asleep, called out, Well, Babbage, what are you dreaming about?" to which I replied "I am thinking that all these tables (pointing to the logarithms) might be calculated by machinery.

 

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 Century
Between 1888 and the creation of IAS in 1952 scientists and mathematicians developed the basic components and design innovations taken for granted in contemporary computers.  The main innovations of this period involved increases in speed, the development of internalized read/write memories, the adoption of more efficient and general representations and processing elements, and design choices that favored simplicity over speed.  Most if not all of these innovations were made possible by the development of the next significant component in digital computing instrumentation, the binary switching unit or transistor.  The development of binary switching components and their integration into computing machinery made modern digital computers possible.  The switch to electrical as opposed to mechanical instruments would eventually prove the key to developing computing machinery with vastly improved speed, enhanced memory functions, easier use of recursive functions, and general programmability.  The development of electronic components would allow for dramatically increased processing speeds.  The idea of a program stored internally in a readable and writeable memory allowed for programs with far greater complexity as well as self-structuring programs.  The conception and technological implementation of large read/write electronic memories allowed for large programs that could operate on large amounts of stored data as well as storage of intermediate results, all at high speed.  The utilization of binary as well as Boolean logic elements as the basis for machine operations eliminated many of the design problems faced by Babbage and others.  Finally, the idea of a central serial processor sacrificed speed in favor of simplicity, which was a necessary tradeoff given that complexity was the limiting factor of electronic engineering of the time (just as it was in mechanical engineering).

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
While Zuse labored on the Z2, across the Atlantic John Atanasoff and Clifford Berry (Atanasoff's graduate student) completed a prototype 16-bit adder employing vacuum tubes in Iowa State College (now Iowa State University) 1939.  Atanasoff and Berry designed a more complicated computer, the Atanasoff-Berry Computer (or ABC).  Issues about patents and an need for more funding led the two to write Computing Machines for the Solution of Large Systems of Linear Algebraic Equations which outlined their work in great detail. Iowa State University still defends the claim, excepted by the supreme court in 1973, that the ABC marked the invention of the first general purpose electronic computer.  ABC was never built, though analysis in the 1960's showed that it would work.  Atanasoff and Berry abandoned the project when both began to work for the US war effort.

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.

Von Neumann's 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.
 


General Computing History Links

 
Virginia Tech History Page 


The Turing Archive for the History of Computing

 

IEEE Timeline of Computing History

 

Mike Muss History of Computing Information

 

The Computer History Museum

 

Hitmill's History of Computers

 

Alan Turing's Paper in Mind

 

Michelle Hoyle's History of Computing Science

 

Steven White's Brief History

 

Howard Rheingold's Site

 

Paul E. Dunne's Lectures

 

Jeffery Shallit's Brief History

 

The Virtual Museum of Computing

 

The History of Computing Project

 

Dr. Tony Pridmore's Lectures

 

Bebop Bytes Back

 

PBS Triumph of the Nerds

 

Bletchley Park Site

 

Juha Takinen's Famous Computer Scientists Fortunecity Chronology





 

 

Introduction


Elements of Computational Devices

 

Early Beginnings


The 15th and 16th Centuries


The 16th and 17th Centuries

 

The 18th and 19th Century


The Late 19th and 20th Century

 

From Calculators to Computers