The birth of modern programming

The development of the modern computer in the mid 1940s did not just involve innovation in hardware. A great deal of attention was paid to the future use of the new machines and well before any working hardware was available much code was written to explore their design and application. These early explorations in software development have their own history, one that is much less well known than the story of theĀ  machines themselves.

In 1945, for example, the mathematician John von Neumann developed a sort routine for the embryonic EDVAC. Over the next couple of years, he and Herman Goldstine coded a number of other problems and proposed a comprehensive methodology for software development. Among other things, this work is renowned for introducing the flow diagram notation into computing.

My new book Routines of Substitution examines this episode, placing von Neumann’s programs in their historical and technical contexts and offering an interpretation of his general programming style. It includes a transcription of the unpublished manuscript containing von Neumann’s 1945 routine and draws on other unfamiliar sources to throw new light on the origins of such central topics in programming as flow diagrams and subroutines.

The book is published in the new SpringerBriefs in History of Computing series, edited by Gerard Alberts.