On February 15th 1946, ENIAC (the Electronic Numerical Integrator and Computer), the world's first programmable electronic computer made its debut. Thomas Haigh, author of the recently released ENIAC in Action, discusses the milestone and its significance.
“Electronic Computer Flashes Answers, May Speed Engineering” ran a front page New York Times headline seventy years ago. It reported the University of Pennsylvania’s public unveiling, on February 15, 1946 of ENIAC. The Electronic Numerical Integrator And Computer was the first electronic computer whose programming could be altered to make it to carry out completely different tasks. Historians have thought of ENIAC primarily as a harbinger of the computers that followed, a kind of electronic John the Baptist. It proved that electronic components could be used to produce shockingly fast and tolerably reliable calculating engines, using automatic control circuits to direct the course of operations as numbers zipped through its memory too fast for any human operator to keep up.
Together with Mark Priestley and Crispin Rope, I’m the author of the first scholarly history of this remarkable machine: ENIAC in Action: Making and Remaking the Modern Computer. Our book tells the whole ENIAC story from its conception in 1943 through its decommissioning in 1955 and its posthumous career as a symbol standing for everything from the power of the “giant electronic brain” to the potential of women as programmers.. We’ve been invited to the University of Pennsylvania to celebrate the anniversary, and will be using the occasion to share some of what we discovered.
Innovation, it turns out, is not something accomplished only by “hackers, geniuses, and geeks” (to quote the subtitle of Walter Isaacson’s recent book on the topic, which featured ENIAC prominently but got a number of things wrong). Those words may describe the project’s instigator John Mauchly and chief engineer J. Presper Eckert, but others made vital contributions of different kinds. The ENIAC project was a place where people from different backgrounds worked together for years to carry out all the tasks, some remembered and some forgotten, that added up to a world-changing innovation.
Procurement, for example, posed some major challenges. The team struggled to obtain appropriate components such as high precisions resistors, steel frames, and even the right kind of wire. Early on the project’s faculty supervisor was reduced to sending suppliers little snippets of wire harvested from an MIT project, asking each whether it could supply some. Problems with the custom power supplies ordered from a flaky supplier threatened to kill the project.
When the necessary components were available it still took dozens of people to put the machine together. Miles of wire were threaded through ENIAC by a small army of blue collar women, who soldered half a million joints. We found their names buried deep in the project’s accounting records, next to those of the project’s engineers, but they have been completely forgotten by history.
People tend to pin a single date on each invention, but ENIAC was more than just a milestone on the timeline of computer history, and innovation did not stop in February 1946 when it was demonstrated to the world. In 1947, when the machine was finally delivered to its owners at the Army’s Ballistic Research Laboratory in Maryland, its working life had barely begun. Just getting it set up there took a lot of work, from the movers who hauled it through a hole they knocked in the side of the Moore School to the air conditioning specialists, architects, and electricians who won contracts to ready its new home.
In the summer of 1945 a team of six young women were recruited as the first ENIAC operators. Today they are famous as the “first computer programmers” and have been enlisted as role models for women in computing, to the extent that ENIAC itself is most often mentioned as a machine programmed by women. Digging deeper into the historical record, we show that this simplifies their actual work. The vital importance of their work as operators to getting any ENIAC job run is erased when they are remembered only as programmers. ENIAC jobs required the constant adjustment of input and output card decks and complex manual operations performed with specialized punched card machines. The women did not create the very first ENIAC configurations, but as they gained experience they took different roles on different problems – taking the lead in working out how ENIAC could be set up to tackle some of them while offering more limited assistance with others.
ENIAC is remembered as the gateway to the digital age, but those who paid for and used it thought of it primarily as a tool to get useful work done. ENIAC ultimately tackled hundreds of different problems, and we delve into some of them to understand what it actually took to analyze data from V2 test firings, run the first numerical weather forecasts, plot shell trajectories, and simulate nuclear explosions.
It took more than a year to get ENIAC running smoothly after it arrived at the Ballistic Research Laboratory. In February and March 1948, its operators worked two shifts a day for a month to run the calculations for a single statistical table. This job would have taken just one day if everything went smoothly. They faced every imaginable kind of problem: programming errors, mathematical mistakes, many different kinds of hardware failure, intermittent problems that introduced subtle errors, operator errors, time lost to hardware upgrades, and preparations for demonstrations to military officials. Tinkering, experimentation, and teamwork gradually improved matters. Operators learned the machine’s foibles, hardware engineers fixed its bad connections, and new procedures speeded the diagnosis of problems. In the first quarter of 1951, ENIAC spent around 70% of its time doing useful work.
ENIAC was, in the most literal sense, reconstructed by its users. As delivered to BRL, ENIAC was essentially a modular kit used to build a specialized computer able to tackle a particular job. Reconfiguring it for a new task meant cabling electrical connections between components and setting hundreds of switches spread over forty different panels. In 1948 ENIAC’s switches and wires were set to run a new program which, with tweaks and improvements, it continued to run until the end of its working life in 1955. The program interpreted and executed instructions stored as numerical instructions on ENIAC’s function tables, originally intended to hold look up tables. New applications were coded as instructions and loaded onto the function tables.
We reconstruct in detail this change and the application that inspired it, a complex Monte Carlo simulation run in March and April 1948 for Los Alamos. This was the first time a program written in what we call the “modern code paradigm” was ever executed, that is to say a program expressed as a series of coded instructions stored in numbered memory locations. Code of this kind can use jumps, branches, and loops to implement the control structures needed to carry out any computation automatically. We found a whole series of flow diagrams and one version of the code for the program, an annotated version of which is on our project website. This approach was widely copied after it was described in a 1945 report by the mathematician John von Neumann, based on work he did in collaboration with the ENIAC design team. But until now, few have recognized that programs of this kind were run on ENIAC before any of the successor computers designed to run them were ready for operation.
Innovation is often thought of as a succession of abstract ideas and conceptual breakthroughs, just as information is misunderstood as something floating disembodied in a “cloud.” Looking closely at ENIAC shows that, from the beginning, the digital revolution has depended on many kinds of expertise, many kinds of work, and many different kinds of materiality.