Electronic Numerical Integrator and Computer
(ENIAC) The first electronic digital computer and an ancestor of most computers in use today. ENIAC was developed by Dr. John Mauchly and J. Presper Eckert during World War II at the Moore School of the University of Pennsylvania.
In 1940 Dr. John Vincent Atanasoff attended a lecture by Mauchly and subsequently agreed to show him his binary calculator, the Atanasoff-Berry Computer (ABC), which was partially built between 1937-1942. Mauchly used ideas from the ABC in the design of ENIAC, which was started in June 1943 and released publicly in 1946.
ENIAC was not the first digital computer, Konrad Zuse's Z3 was released in 1941. Though, like the ABC, the Z3 was electromechanical rather than electronic, it was freely programmable via paper tape whereas ENIAC was only programmable by manual rewiring or switches. Z3 used binary representation like modern computers whereas ENIAC used decimal like mechanical calculators.
ENIAC was underwritten and its development overseen by Lieutenant Herman Goldstine of the U.S. Army Ballistic Research Laboratory (BRL). While the prime motivation for constructing the machine was to automate the wartime production of firing and bombing tables, the very first program run on ENIAC was a highly classified computation for Los Alamos. Later applications included weather prediction, cosmic ray studies, wind tunnel design, petroleum exploration, and optics.
ENIAC had 20 registers made entirely from vacuum tubes. It had no other no memory as we currently understand it. The machine performed an addition in 200 microseconds, a multiplication in about three milliseconds, and a division in about 30 milliseconds.
John von Neumann, a world-renowned mathematician serving on the BRL Scientific Advisory Committee, soon joined the developers of ENIAC and made some critical contributions. While Mauchly, Eckert and the Penn team continued on the technological problems, he, Goldstine, and others took up the logical problems.
In 1947, while working on the design for the successor machine, EDVAC, von Neumann realized that ENIAC's lack of a central control unit could be overcome to obtain a rudimentary stored program computer (see the Clippinger reference below). Modifications were undertaken that eventually led to an instruction set of 92 "orders". Von Neumann also proposed the fetch-execute cycle.
[R. F. Clippinger, "A Logical Coding System Applied to the ENIAC", Ballistic Research Laboratory Report No. 673, Aberdeen Proving Ground, MD, September 1948. http://ftp.arl.mil/~mike/comphist/48eniac-coding].
[K. Kempf, "Electronic Computers within the Ordnance Corps", Aberdeen Proving Ground, MD, 1961. http://ftp.arl.mil/~mike/comphist/61ordnance].
[M. H. Weik, "The ENIAC Story", J. American Ordnance Assoc., 1961. http://ftp.arl.mil/~mike/comphist/eniac-story.html].
[How "general purpose" was ENIAC, compared to Zuse's Z3?]