BLOG@CACM
Computing Profession

The Other von Neumann

Posted

I love reading about early computing history (i.e., pre-1960), such as Herbert Bruderer’s BLOG@CACM posts. I am familiar with the contributions to computing history by luminaries such as Gottfried Leibniz, Charles Babbage and Ada Lovelace, George Boole, Claude Shannon, Alonzo Church, Alan Turing, Maurice Wilkes, Konrad Zuse, John Atanasoff and Clifford Berry, J. Presper Eckert and John Mauchly, John von Neumann, Howard Aiken and Grace Hopper, and many others.

I am also aware that many of the computational contributions of women have historically been under-reported, including the work of the original six ENIAC programmers (Kay McNulty, Betty Jennings, Betty Snyder, Marlyn Meltzer, Fran Bilas, and Ruth Lichterman), that of the EDSAC programmer Beatrice Worsley, the challenges faced by the human computers at NASA (including Katherine Johnson, Dorothy Vaughan, and Mary Jackson), the software contributions of Margaret Hamilton and Ellen Fetter to Edward Lorenz’s early research in Chaos Theory, and doubtless many others.

I was recently surprised when I stumbled across the following statement by the journalist Katie Hafner on the Scientific American website

"The first modern-style code ever executed on a computer was written in the 1940s by a woman named Klára Dán von Neumann—or Klári to her family and friends. And the historic program she wrote was used to develop thermonuclear weapons.

Klára Dán von Neumann? I was familiar with John von Neumann but who was this Klára?

I conducted a quick non-scientific survey of my CS colleagues (including several women), and none of them had heard of her either. How was it possible that we had never heard of the person who wrote the first modern computer code? Here was a mystery worth exploring!

Katie Hafner has devoted the second season of her Lost Women of Science podcast to Klára’s story. Hafner does an outstanding job of unpacking Klára’s story, explaining who she was, how she became a computer programmer, and why so few people have heard of her. As a teaser, I will mention that Klára Dan was born in Hungary in 1911, won the national figure-skating championship when she was 14, married John Von Neumann in 1938, moved with him to Princeton, and that despite having little formal training in mathematics beyond high school trigonometry, she became head of Princeton’s Statistical Computing Group during World War II. After the war, she helped transform the ENIAC from a hard-wired-program machine into a stored-program machine, and then wrote machine-code programs that used the Monte Carlo simulation approach to model nuclear fission and fusion, and eventually contributed to the first successful weather forecasting software project.

The deeper story of Klára Dán von Neumann is fascinating, and I highly recommend Hafner’s Lost Women of Science episodes, which include interviews with the historians George Dyson and Thomas Haigh, the economist Anne Fitzpatrick, and others. If you prefer reading to listening, a written transcript is included with each episode. Or, if you prefer to read a book about the broader ENIAC project, see ENIAC in Action, by Thomas Haigh, Mark Priestley, and Crispin Rope, which includes some coverage of Klára’s story.

Addendum: According to an article by Thomas Haigh, et. al., Klára ran her first Monte Carlo simulation code on the ENIAC in April 1948. That certainly makes her the first person to write and run ‘modern-style’ code on a computer in the U.S.

However in Europe, Konrad Zuse had been developing his Plankalkül programming language since at least 1943 and a publication about it from the Zuse Internet Archive is dated 1946. This suggests he may well have been writing ‘modern-style’ code prior to 1948. Further, in his book Die Geschichte der Rechenautomaten, Prof. W-M Lippe tells that when Zuse was asked to demonstrate the utility of his Z4 computer by having it solve a simple differential equation, he immediately programmed and solved it on his Z4. It is not stated whether Zuse programmed this solution using Plankalkül or some other means, but this successful demonstration led to the Z4 being loaned to ETH Zurich, where it was used from 1950-55. While this programming demonstration on the Z4 took place in 1949, the fact that Zuse could program a solution to the equation "immediately" suggests that he had likely been writing and running programs for some time prior to that, perhaps even prior to April 1948. 

These events in Europe in no way devalue the contributions of Klára Dán von Neumann to early computing, and her story remains a fascinating one. But more research is needed to determine whether it was she or Konrad Zuse (or perhaps someone else) who wrote and ran the first ‘modern-style’ computer code.

Joel C. Adams is an emeritus professor of computer science at Calvin University.

Join the Discussion (0)

Become a Member or Sign In to Post a Comment

The Latest from CACM

Shape the Future of Computing

ACM encourages its members to take a direct hand in shaping the future of the association. There are more ways than ever to get involved.

Get Involved

Communications of the ACM (CACM) is now a fully Open Access publication.

By opening CACM to the world, we hope to increase engagement among the broader computer science community and encourage non-members to discover the rich resources ACM has to offer.

Learn More