On December 28, 1903, Hungarian and American pure and applied mathematician, physicist, inventor and polymath John von Neumann was born. He made major contributions to a number of fields including mathematics, physics, economics, computing, and statistics. He was a key figure in the development of game theory, the concepts of cellular automata, and the digital computer. He is definitely one of the candidates to write several biographical articles of, each with a different aspect of his work. For me as a computer scientist, of course the so-called von-Neumann architecture principle on which today’s computers are based is of importance. Thus, in this article I will consider his contributions to computer science besides the biographical data.
Von Neumann was born Neumann János Lajos in Budapest, Austro-Hungarian Empire, to wealthy Jewish parents as the eldest of three brothers. His father, Neumann Miksa (Max Neumann) was a banker, who held a doctorate in law, and in 1913 was elevated to nobility acquiring the hereditary title margittai. Neumann János became margittai Neumann János (John Neumann of Margitta), which he later changed to the German Johann von Neumann. He was an extraordinary child prodigy in the areas of language, memorization, and mathematics. As a 6-year-old, he could divide two 8-digit numbers in his head and by the age of 8, he was already familiar with differential and integral calculus. By the age of 19, von Neumann had published two major mathematical papers and he received his Ph.D. in mathematics at University in Budapest at the age of 22.
Starting in 1926, he taught as a Privatdozent at the University of Berlin, the youngest in its history and by the end of 1929, he had published thirty-two significant papers, at a rate of nearly one major paper per month. Von Neumann’s alleged powers of speedy, massive memorization and recall allowed him to recite volumes of information, and even entire directories, with ease. In 1930, von Neumann was invited to Princeton University, New Jersey, where he was offered a faculty position in 1933 at the Institute for Advanced Study, a position which he should keep until his death.
Besides his major contributions to set theory, geometry, measure theory, ergodic theory, operator theory, lattice theory, quantum mechanics and quantum logics, game theory, mathematical economics, linear programming, mathematical statistics, and nuclear weapons, we want especially to focus on his contributions in computing here. Actually, von Neumann was a founding figure in computing. During his work in Los Alamos during the development of the hydrogen bomb, von Neumann and Stanislaw Ulam developed simulations on von Neumann’s digital computers for the hydrodynamic computations. During this time he contributed to the development of the Monte Carlo method, which allowed solutions to complicated problems to be approximated using random numbers. Because using lists of “truly” random numbers was extremely slow, von Neumann developed a form of making pseudorandom numbers.
While consulting for the Moore School of Electrical Engineering at the University of Pennsylvania on the EDVAC project, von Neumann described a computer architecture in which the data and the program are both stored in the computer’s memory in the same address space, a principle which still holds for today’s computers unlike the earliest computers that were ‘programmed’ by altering the electronic circuitry. Although the single-memory, stored program architecture is commonly called von Neumann architecture as a result of von Neumann’s paper, the architecture’s description was based on the work of J. Presper Eckert and John William Mauchly, inventors of the ENIAC. John von Neumann also consulted for the ENIAC project. He recognized the need for parallelism in computers but equally well recognized the problems of construction and hence settled for a sequential system of implementation.
He then lobbied to build an improved computer at the Institute for Advanced Study. The IAS machine, which began operating in 1951, used binary arithmetic—the ENIAC had used decimal numbers—and shared the same memory for code and data, a design that greatly facilitated the “conditional loops” at the heart of all subsequent coding. Stochastic computing was first introduced in a pioneering paper by von Neumann in 1953. However, the theory could not be implemented until advances in computing of the 1960s. In his later years, von Neumann puzzled over the question of whether a machine could reproduce itself. He created the field of cellular automata without the aid of computers, constructing the first self-replicating automata with pencil and graph paper. Conceptually, this work anticipated later discoveries in genetics. Beginning in 1949, Von Neumann’s design for a self-reproducing computer program is considered the world’s first computer virus, and he is considered to be the theoretical father of computer virology. Donald Knuth cites von Neumann as the inventor, in 1945, of the merge sort algorithm, in which the first and second halves of an array are each sorted recursively and then merged.
Von Neumann received two Presidential Awards, the Medal for Merit in 1947 and the Medal for Freedom in 1956. Also in 1956 he received the Albert Einstein Commemorative Award and the Enrico Fermi Award. A lifelong agnostic, shortly before his death he converted to Roman Catholicism. Von Neumann died a year and a half after the diagnosis of cancer in 1957.
At yovisto, you can learn more about the work of John von Neumann in computer science in the video of historian George Dyson, who tells stories from the birth of the modern computer — from its 16th-century origins to the hilarious notebooks of some early computer engineers.
References and Further Reading:
-  O’Connor, John J.; Robertson, Edmund F., “John von Neumann“, MacTutor History of Mathematics archive, University of St Andrews.
-  John von Neumann at Encyclopedia Britannica
-  John Louis von Neumann at the National Science Foundation
Related Articles at Yovisto Blog:
- Please Don’t Ignite the Earth’s Atmosphere…
- ENIAC – The First Computer Introduced Into Public
- Donald Knuth and the Art of Programming
- Karl Zuse – The Inventor of the Computer
- Behold the First Available Commercial Computer (in the USA) – the UNIVAC
- It’s Computable – thanks to Alonzo Church