In February 1946, the first general purpose electronic computer…the ENIAC…was introduced to the public. Nothing like ENIAC had been seen before, and the unveiling of the computer, a room-filling machine with lots of flashing lights and switches–made quite an impact.
ENIAC (the Electronic Numerical Integrator and Computer) was created primarily to help with the trajectory-calculation problems for artillery shells and bombs, a problem that was requiring increasing numbers of people for manual computations. John Mauchly, a physics professor attending a summer session at the University of Pennsylvania, and J Presper Eckert, a 24-year-old grad student, proposed the machine after observing the work of the women (including Mauchly’s wife Mary) who had been hired to assist the Army with these calculations. The proposal made its way to the Army’s liason with Penn, and that officer, Lieutenant Herman Goldstine, took up the project’s cause. (Goldstine apparently heard about the proposal not via formal university channels but via a mutual friend, which is an interesting point in our present era of remote work.) Electronics had not previously been used for digital computing, and a lot of authorities thought an electromechanical machine would be a better and safer bet.
Despite the naysayers (including RCA, actually which refused to bid on the machine), ENIAC did work, and the payoff was in speed. This was on display in the introductory demonstration, which was well-orchestrated from a PR standpoint. Attendees could watch the numbers changing as the flight of a simulated shell proceeded from firing to impact, which took about 20 seconds…a little faster than the actual flight of the real, physical shell itself. Inevitably, the ENIAC was dubbed a ‘giant brain’ in some of the media coverage…well, the “giant” part was certainly true, given the machine’s size and its 30-ton weight.
In the photo below, Goldstine and Eckert are holding the hardware module required for one single digit of one number.
The machine’s flexibility allowed it to be used for many applications beyond the trajectory work, beginning with modeling the proposed design of the detonator for the hydrogen bomb. Considerable simplification of the equations had to be done to fit within ENIAC’s capacity; nevertheless, Edward Teller believed the results showed that his proposed design would work. In an early example of a disagreement about the validity of model results, the Los Alamos mathematician Stan Ulam thought otherwise. (It turned out that Ulam was right…a modified triggering approach had to be developed before working hydrogen bombs could be built.) There were many other ENIAC applications, including the first experiments in computerized weather forecasting, which I’ll touch on later in this post.
Programming ENIAC was quite different from modern programming. There was no such thing as a programming language or instruction set. Instead, pluggable cable connections, combined with switch settings, controlled the interaction among ENIAC’s 20 ‘accumulators’ (each of which could store a 10-digit number and perform addition & subtraction on that number) and its multiply and divide/square-root units. With clever programming it was possible to make several of the units operate in parallel. The machine could perform conditional branching and looping…all-electronic, as opposed to earlier electromechanical machines in which a literal “loop” was established by glueing together the ends of a punched paper tape. ENIAC also had several ‘function tables’, in which arrays of rotary switches were set to transform one quantity into another quantity in a specified way…in the trajectory application, the relationship between a shell’s velocity and its air drag.
The original ‘programmers’…although the word was not then in use…were 6 women selected from among the group of human trajectory calculators. Jean Jennings Bartik mentioned in her autobiography that when she was interviewed for the job, the interviewer (Goldstine) asked her what she thought of electricity. She said she’d taken physics and knew Ohm’s Law; Goldstine said he didn’t care about that; what he wanted to know was whether she was scared of it! There were serious voltages behind the panels and running through the pluggable cables.
“The ENIAC was a son of a bitch to program,” Jean Bartik later remarked. Although the equations that needed to be solved were defined by physicists and mathematicians, the programmers had to figure out how to transform those equations into machine sequences of operations, switch settings, and cable connections. In addition to the logical work, the programmers had also to physically do the cabling and switch-setting and to debug the inevitable problems…for the latter task, ENIAC conveniently had a hand-held remote control, which the programmer could use to operate the machine as she walked among its units.
Notoriously, none of the programmers were introduced at the dinner event or were invited to the celebration dinner afterwards. This was certainly due in large part to their being female, but part of it was probably also that programming was not then recognized as an actual professional field on a level with mathematics or electrical engineering; indeed, the activity didn’t even yet have a name. (It is rather remarkable, though, that in an ENIAC retrospective in 1986…by which time the complexity and importance of programming were well understood…The New York Times referred only to “a crew of workers” setting dials and switches.)
The original programming method for ENIAC put some constraints on the complexity of problems that it could be handled and also tied up the machine for hours or days while the cable-plugging and switch-setting for a new problem was done. The idea of stored programming had emerged (I’ll discuss later the question of who the originator was)…the idea was that a machine could be commanded by instructions stored in a memory just like data; no cable-swapping necessary. It was realized that ENIAC could be transformed into a stored-program machine with the function tables…those arrays of rotary switches…used to store the instructions for a specific problem. The cabling had to be done only once, to set the machine up for interpreting a particular vocabulary of instructions. This change gave ENIAC a lot more program capacity and made it far easier to program; it did sacrifice some of the speed.
In 1950, the first experiments in computerized weather forecasting were carried out. While trajectory calculations require that time be divided into small intervals, weather forecasting also requires the subdivision of space, and hence is more computationally-intensive. The eminent scientist John von Neumann was deeply involved in this work, and his wife, Klara, worked both on the transformation of ENIAC into a stored-program machine and on the specific weather application. (It’s interesting that Klara’s mathematics teacher back in Hungary had given her a passing grade only because he was impressed that she openly admitted she didn’t understand anything of what was being taught! Yet she was by all accounts an important contributor to the ENIAC project.) The 20-number memory capacity of ENIAC required that vast quantities of punched cards be employed for the capturing and re-entry of intermediate results; mainly because of all this reshuffling, the ENIAC forecasts could barely keep up with the actual weather.
Also run on the stored-program ENIAC was a nuclear critical-mass (fission) calculation using the ‘Monte Carlo method’, in which the behavior of individual neutrons was randomized but the overall result was predictive and replicable. (This work had previously been done by hand, with simulated neutrons moved across a large sheet of paper for successive tiny intervals of time.) Indeed, it was indeed the need for this calculation that spurred the conversion of ENIAC to a stored-program machine…an example of ‘user-driven innovation’, as historian Dr Thomas Haigh has pointed out.
In 1946, the inventors Eckert and Mauchly left U-Penn as the result of a patent-rights dispute and soon formed their own computer company, which later became UNIVAC (corporate descendent UNISYS.) A patent was issued certifying the pair as the inventors of the electronic digital computer. Honeywell, then a computer manufacturer, got tired of the substantial royalties it was paying and brought a lawsuit in 1967 to invalidate the patent. In 1973, Judge Earl Larson ruled ruled in Honeywell’s favor, cancelling the patent in part because of earlier work done by Dr John Atanasoff at Iowa State College. ( Atanasoff had indeed built an truly innovative electronic computer; it was, however, a special-purposed device, dedicated entirely to solving simultaneous linear equations, and could not have been reprogrammed for other applications as was ENIAC)
I don’t think there’s any evidence that the designers of ENIAC were aware of or influenced either by Alan Turing’s theoretical work on computing or by the British COLOSSUS, an electronic (and highly secret) machine which was specialized for codebreaking, as important as these activities were in their own rights.
The idea of stored programming is generally credited to John von Neumann, but it is possible that Eckert and Mauchly had previously proposed the idea…this is certainly what Eckert maintained in his article in A History of Computing in the Twentieth Century and also what Mauchly said in a 1979 letter reproduced here. Some of Adele Goldstine’s ideas in her writeup on ENIAC may also have played a part in the emergence of the idea. The paper that defined the stored program concept in abstract terms, and that quickly became a classic, was indeed largely von Neumann’s work. Dr Haigh notes that this document defines a ‘minimalistic’ approach to machine architecture, citing St-Exupery’s dictum about perfection: “Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.” Interestingly, von Neumann defined the concepts of the archetypal computer in terms which owed more to biology than to electronics; ‘neurons’, for example. This may have been done in part to avoid classification restrictions on the document’s circulation.
Picture below is of Klara and John von Neumann, and Adele and Herman Goldstine.
Concerning the specific conversion of ENIAC to a stored-program machine, this effort was spurred by Nick Metropolis of Los Alamos based on the need to automate the Monte Carlo fission calculations and a wind-tunnel problem brought by Richard Clippinger of the Aberdeen Proving Ground, with Adele Goldstine, Jean Bartik, and Klara von Neumann among those doing the work.
There has been much interest in recent years in ‘the women of ENIAC’…Adele Goldstine and Klara von Neumann are rarely mentioned among these accounts, probably because they were not members of the original programming team. The programmers had a difficult job and ENIAC was a complicated machine to learn, but some accounts have over-emphasized this point, suggesting that no one had ever thought about how it could be programmed prior to its being constructed, which was incorrect..indeed, it would have been highly irresponsible to embark on the project without such thinking. And Jean Bartik notes in her memoir how helpful Mauchly and other designers were to the original programmers, even if their interactions weren’t formalized as a training class. In any event, it is good that this team has finally been recognized.
There were a *lot* of relationships and marriages among the project participants (Adele Goldstine was Herman Goldstine’s wife, for example)…today, many organizations have policies that would have deterred or prohibited these relationships.
It is rather remarkable that ENIAC got implemented at all, given its radical nature and the resource-short wartime economy. Goldstine gives much credit to Colonel Paul Gillon…”an extremely competent, energetic officer, who understood a great deal about technical matters…He knew a lot, and he was a person who, if he put his faith in you, he put it in unreservedly.”
Goldstine also credited Army culture: “The one thing that I admired during the war was how very effectively the Old Boys’ Club of West Pointers operated. It was a beautiful thing to watch. These men trusted each other, or at least they knew what von Neumann used to call the “mendacity factor” of each one of their colleagues. They knew how much to trust each person, and if they believed in a man, as convinced they believed in Gillon, there were no problems about getting money and approvals. The normal military tempo was slow, as all government bureaucracies are. The reason this thing went very fast was because Gillon was immediately convinced by us.”
This was originally going to be a much shorter post written last year, but as I got more into the ENIAC history and the anniversary date approached, it got longer. I do wonder what the original developers and programmers of ENIAC would think if they could see some of today’s applications of computer technology, such as the talking-cat video filter.
Some good sources for anyone wanting to learn more about this project and its influences:
–Historian Thomas Haigh has done a great deal of research and writing about ENIAC history; his book, ENIAC in Action (co-authored with Mark Priestley and Crispin Rope) is an indispensable source. The book has a website, which includes many useful links such as Los Alamos Bets on ENIAC, a description of the nuclear Monte Carlo simulations.
Haigh and Priestley also make the interesting point that when people today talk about ‘the women of ENIAC’, they don’t tend to consider the 34 wiremen, technicians, and assemblers who actually built the machine, most of whom were in fact women. The historians emphasize that there were a lot of people critical to this project–and to any project–in addition to the engineers and programmers who tend to get most of the glory.
–Jean Bartik wrote a very readable memoir, titled Pioneer Programmer, about her journey from farm girl to ballistics calculator to ENIAC programmer and then on to other jobs in the emerging computer industry. Not at all shy about expressing her strong opinions about individuals: for example, she didn’t like Herman Goldstine at all (though she liked Adele) but was devoted to Mauchly, who she chose to give her away at her wedding. She also has some negative things to say about the compiler pioneer Grace Hopper, later Rear Admiral Grace Hopper. Many amusing anecdotes, such as the ‘Dress for Success’ seminar that misfired when she was working in a later job, and some parts not amusing at all, such as the influence of McCarthyism on some of the individuals and on the industry, are included in the memoir.
—Kathleen McNulty Mauchly Antonelli was one of the original ENIAC programmers; she became John Mauchly’s second wife after his first wife, Mary, died in a swimming accident. Her linked memoir is from 2004.
—A History of Computing in the Twentieth Century, by Metropolis, Howlett, and Rota, is a 1980 collection of essays on early computers and software development efforts.
—A short video on ENIAC. The numbers over the indicator lamps (ping-pong balls cut in half) were not part of the original design but were added by Mauchly to help demo attendees understand what was going on.
—The Computers, available for rental on Vimeo, is a documentary focused on the original six programmers. Interviews with these women (circa late 1990s, I think) coupled with vintage photos and newsreel footage. (One commentator wondered how long it would take before ENIAC-like machines would be checking up on your income tax. Not sure he took the possibility seriously, but the answer turned out to be…as near as I can determine, about 14 years.
—The University of Pennsylvania also has an anniversary post with several pictures of ENIAC and some of the people involved; it also includes a picture of three women operating a mechanical differential analyzer–when used for the trajectory work, a differential analyzer took about 30 minutes to calculate a single trajectory (compared with about 20-40 hours for a human), but was somewhat less accurate…also, the analyzers had an irritating habit of breaking down just before a run was finished. See my post on mechanical analog computers: Retrotech–with a future?
–The original ENIAC patent is here and includes a very detailed description of the machine’s circuitry and operations. The inventors point out that there has been a very large set of important problems which could not be addressed by analytical methods (ie, the algebraic transformation of symbols in equations) but which required tremendous step-by-step computational efforts…as examples, they mention Hartree’s work on the structure of the atom, which required computations extending over fifteen years and a then-contemporary problem involving the supersonic wind tunnel at the Aberdeen Proving Grounds.
There are still plenty of problems which cannot be solved by today’s much-faster computers in realistic (or even non-astronomical) timeframe; this is the primary driver for the interest in quantum computing.