By Nic Lewis and the National Security Research Center staff
The year 1945 marked not only the birth of the Atomic Age, but also the birth of modern computer programming. The first fully electronic computing machine, the ENIAC (Electronic Numerical Integrator And Computer), came online in December 1945. But programming the ENIAC was an excruciatingly difficult task. Klára Dán von Neumann, who joined the Laboratory at Los Alamos after WWII, helped to revolutionize the process, creating the very first modern computer programs.
Built at the University of Pennsylvania for the U.S. military, the ENIAC was the first electronic, general-purpose computer ever created, meaning that it could be reprogrammed for almost any problem. It would eventually perform numerous weapons-science calculations — including those for thermonuclear weapons. But the ENIAC in its original form could only be reprogrammed by tediously rewiring the machine and setting thousands of switches on its control panels. Because weeks or months were needed for reprogramming, this limited the computer's utility to Los Alamos scientists and other ENIAC users.
In 1947, the ENIAC team at Los Alamos sought to solve this problem by converting the machine into something new, a machine that could store its programs in the same internal memory as its working data. This would theoretically make the ENIAC extremely fast to reprogram — no longer needing to rewire the machine for each problem. But it meant someone needed to figure out how to write the very first executable software program. This is where Dán von Neumann stepped in.
At a time before programming languages or programming aids of any kind, she produced the first software coded in the modern paradigm, which were Los Alamos Monte Carlo problems. According to Nic Lewis, a historian at the Lab’s National Security Research Center (NSRC), "There was no library of example code for her to draw upon. Her codes were written in the very Byzantine machine language of the ENIAC, which required a great deal of intelligence, ingenuity and creativity to do as there were no established procedures to act as guidance. She had to invent the procedures as she went along."
Dán von Neumann’s ingenuity stemmed from having to know the physical architecture of the ENIAC in significant detail. "It was a labyrinthine machine, one that the ENIAC Los Alamos team, made up of Nicholas Metropolis and Dán von Neumann, and the team in Aberdeen, Maryland, had to modify to function as a stored-program system. Because of how it had to be modified, it had a lot of quirks that made it far from ideal to work with," Lewis said.
Yet Dán von Neumann not only took on the grueling and tedious work of learning ENIAC inside and out, she was also intrigued by her work.
"The NSRC collection includes handwritten letters from Klára to Nick Metropolis where she said that the machine was 'wonderful' because of the fascinating abilities and challenges it presented. So, to be the first simply to program, or 'code,' a computer like the ENIAC (of which there was only one) required someone of extraordinary intelligence and abilities," Lewis said.
Sometimes, looking back at historical achievements with our modern lens can minimize their significance. Dán von Neumann’s work was monumental indeed, but "that tends to get lost in historical interpretations because we assume that what she did was equivalent to programming now, but it was far, far more challenging and pathfinding," Lewis said.