Routines of Substitution

John von Neumann’s Work on Software Development, 1945–1948

  • Mark Priestley

Part of the SpringerBriefs in History of Computing book series (BRIEFSHC)

Table of contents

  1. Front Matter
    Pages i-viii
  2. Mark Priestley
    Pages 1-7
  3. Mark Priestley
    Pages 9-19
  4. Mark Priestley
    Pages 21-37
  5. Mark Priestley
    Pages 39-53
  6. Mark Priestley
    Pages 55-75
  7. Mark Priestley
    Pages 77-89
  8. Mark Priestley
    Pages 91-99
  9. Back Matter
    Pages 101-131

About this book


This work is a historical and philosophical study of the programming work carried out by John von Neumann in the period 1945-8. At the heart of the book is an examination of a manuscript featuring the earliest known surviving example of von Neumann’s coding, a routine written in 1945 to ‘mesh’ two sequences of data and intended to be part of a larger program implementing the algorithm now known as mergesort.

The text of the manuscript itself, along with a preliminary document describing the code he used to write this program, are reproduced as appendices. The program is approached in three chapters describing the historical background to von Neumann’s work, the significance of the sorting application itself, and the development of the EDVAC, the machine for which the program was written. The subsequent chapters widen the focus again, discussing the subsequent evolution of the program and the crucial topic of subroutines, before concluding by situating von Neumann’s work in a number of wider contexts. The book also offers a unifying philosophical interpretation of von Neumann’s approach to coding.


John von Neumann Sorting Algorithms EDVAC Early Computer Programs Software Development

Authors and affiliations

  • Mark Priestley
    • 1
  1. 1.Freelance Writer and Historian of ComputingLondonUnited Kingdom

Bibliographic information

  • DOI
  • Copyright Information The Author(s), under exclusive licence to Springer Nature Switzerland AG 2018
  • Publisher Name Springer, Cham
  • eBook Packages Computer Science Computer Science (R0)
  • Print ISBN 978-3-319-91670-5
  • Online ISBN 978-3-319-91671-2
  • Series Print ISSN 2524-6127
  • Series Online ISSN 2524-6135
  • Buy this book on publisher's site