From Theory to Practice: The Invention of Programming, 1947-51

  • Martin Campbell-Kelly
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6875)


This paper describes the development of programming for the EDSAC computer at Cambridge University, beginning in 1948 and culminating in the publication in 1951 of the classic Preparation of Programs for an Electronic Digital Computer by Maurice Wilkes, David Wheeler and Stanley Gill. The relationship to earlier programming studies conducted by Herman Goldstine and John von Neumann during 1947-1948 at the Institute for Advanced Study, Princeton University, is discussed. The subsequent diffusion of the Cambridge programming system and its influence are described.


Programming System National Physical Laboratory Instruction Code Initial Order Order Code 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. Aspray, W.: John von Neumann and the Origins of Modern Computing. MIT Press, Cambridge (1990)zbMATHGoogle Scholar
  2. Bashe, C.J., Johnson, L.R., Palmer, J.H., Pugh, E.W.: IBM’s Early Computers. MIT Press, Cambridge (1986)Google Scholar
  3. Booth, A.D., Booth, K.H.V.: Automatic Digital Computers. Methuen, London (1953)zbMATHGoogle Scholar
  4. Brooker, R.A., Wheeler, D.J.: Floating Operations on the Edsac. Mathematical Tables and Other Aids to Computation 7, 37–47 (1953)MathSciNetCrossRefzbMATHGoogle Scholar
  5. Campbell-Kelly, M.: The Airy Tape: An Early Chapter on the History of Debugging. Annals of the History of Computing 14(4), 18–28 (1992)MathSciNetGoogle Scholar
  6. Campbell Kelly, M., Williams, M.R. (eds.): The Moore School Lectures. Charles Babbage Institute Reprint Series for the History of Computing, vol. 9. MIT Press and Tomash Publishers, Cambridge, Mass and Los Angeles (1985)Google Scholar
  7. Gill, S.: The Diagnosis of Mistakes in Programmes on the EDSAC. Proc. Roy. Soc (A) 206, 538–554 (1951)MathSciNetCrossRefzbMATHGoogle Scholar
  8. Goldstine, H.H.: The Computer: From Pascal to von Neumann. Princeton University Press, Princeton (1972)zbMATHGoogle Scholar
  9. Goldstine, H.H., von Neumann, J.: Planning and Coding Problems for an Electronic Computing Instrument (1947-1948); reprinted in von Neumann, pp. 151–306 (1986) Google Scholar
  10. Hartree, D.R.: Calculating Machines: Recent and Prospective Developments and their Impact on Mathematical Physics. Reprinted as Charles Babbage Institute Reprint Series for the History of Computing, vol. 6. MIT Press and Tomash Publishers, Cambridge, Mass, and Los Angeles (1947)zbMATHGoogle Scholar
  11. IBM. Type 701: Principles of Operation. IBM, New York (1953) Google Scholar
  12. Knuth, D.E., Pardo, L.T.: The Early Development of Programming Languages. In: Metropolis, N., Howlett, J., Rota, G.C. (eds.) A History of Computing in the Twentieth Century. Academic Press, New York (1980)Google Scholar
  13. Morris, S.J., Gotel, O.C.Z.: Flow Diagrams: Rise and Fall of the First Software Engineering Notation. In: Barker-Plummer, D., Cox, R., Swoboda, N. (eds.) Diagrams 2006. LNCS (LNAI), vol. 4045, pp. 130–144. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  14. Morris, S.J., Gotel, O.C.Z.: The Role of Flow Charts in the Early Automation of Applied Mathematics. BSHM Bulletin: Journal of the British Society for the History of Mathematics 26, 45–52 (2011)CrossRefzbMATHGoogle Scholar
  15. Randell, B.: Origins of Digital Computers: Selected Papers. Springer, Heidelberg (1973/1982)Google Scholar
  16. Turing, A.M.: Programmers’ Handbook for the Manchester Electronic Computer. University of Manchester (1951) Google Scholar
  17. University Mathematical Laboratory. The EDSAC Report (May 1948)Google Scholar
  18. University Mathematical Laboratory. Report on the Preparation of Programmes for the EDSAC and the Use of the Library of Sub-routines (September 1950) Google Scholar
  19. University of Tokyo, n.d. TAC Programmers Reference Manual (Original in Japanese) Google Scholar
  20. von Neumann, J.: First Draft of a Report on the EDVAC. Reprinted in von Neumann (June 1945), pp. 17–82 (1986) Google Scholar
  21. von Neumann, J.: Papers of John von Neumann on Computing and Computer Theory. Charles Babbage Institute Reprint Series for the History of Computing, vol. 12. MIT Press and Tomash Publishers, Cambridge, Mass, and Los Angeles (1986)Google Scholar
  22. Wheeler, D.J.: Programme organization and initial orders for the EDSAC. Proc. Roy. Soc (A) 202, 573–589 (1950)MathSciNetCrossRefzbMATHGoogle Scholar
  23. Wilkes, M.V.: Electronic Calculating Machine Development in Cambridge. Nature, 557–558 (1949a)Google Scholar
  24. Wilkes, M.V.: Oscillations of the Earth’s Atmosphere. Cambridge University Press, Cambridge (1949b)zbMATHGoogle Scholar
  25. Wilkes, M.: Memoirs of a Computer Pioneer. MIT Press, Cambridge (1985)Google Scholar
  26. Wilkes, M.V., Wheeler, D.J., Gill, S.: The Preparation of Programs for an Electronic Digital Computer. Addison Wesley, Reading (1951); reprinted as Charles Babbage Institute Reprint Series for the History of Computing, vol. 1. Tomash Publishers, Los Angeles (1982)Google Scholar
  27. Wilkinson, J.H.: An Assessment of the System of Optimum Coding Used on the Pilot Automatic Computing Engine at the National Physical Laboratory. Philosophical Transactions of the Royal Society of London, series A 248, 253–281 (1955)MathSciNetCrossRefzbMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Martin Campbell-Kelly
    • 1
  1. 1.Warwick UniversityUK

Personalised recommendations