The Mathematical Origins of Modern Computing

  • Mark Priestley
Part of the Philosophy of Engineering and Technology book series (POET, volume 30)


Modern computing has been shaped by the problems and practices of mathematics to a greater extent than is often acknowledged. The first computers were built to accelerate and automate mathematical labour, not as universal logical machines. Very specific mathematical objectives shaped the design of ENIAC, the first general-purpose electronic computer, and its successor, EDVAC, the template for virtually all subsequent computers. As well as machine architecture, software development is firmly rooted in mathematical practice. Techniques for planning large-scale manual computation were directly translated to the task of programming the new machines, and specific mathematical practices, such as the use of tables in calculation, profoundly affected the design of programs.



I would like to thank Martin Campbell-Kelly, Tom Haigh, and Sven Ove Hansson for their helpful comments on earlier versions of this chapter.



  1. Aiken, H. H. (1937). Proposed automatic calculating machine. In Randell (1982) (pp. 195–201).Google Scholar
  2. Anonymous (1947). Problems 1947–1948. MSOD box 13.Google Scholar
  3. Babbage, C. (1822). On the application of machinery to the purpose of calculating and printing mathematical tables. In M. Campbell-Kelly (Ed.), 1989, The works of Charles Babbage (Vol. 2, pp. 6–14). London: Pickering.Google Scholar
  4. Bartik, J. J. (2013). Pioneer programmer. Kirksville: Truman State University Press.Google Scholar
  5. Bloch, R. M. (1999). Programming Mark I. In I. B. Cohen & G. W. Welch (Eds.), Makin’ numbers: Howard Aiken and the computer. Cambridge: The MIT Press.Google Scholar
  6. Brainerd, J. G. (1943). Letter to Dean Harold Pender. MSOD box 51.Google Scholar
  7. Brainerd, J. G. (1944a). Letter to Lt. Col. Paul N. Gillon. MSOD box 55a.Google Scholar
  8. Brainerd, J. G. (1944b). Letter to Lt. Thomas H. Bogert. AWB-IUPUI.Google Scholar
  9. BRL. (1944). Ballistics Research Laboratory firing table reviewing board, memorandum to Colonel Leslie E. Simon. AWB-IUPUI.Google Scholar
  10. Bush, V. (1931). The differential analyzer: A new machine for solving differential equations. Journal of the Franklin Institute, 212(4), 447–488.CrossRefGoogle Scholar
  11. Campbell-Kelly, M. (1992). The Airy tape: An early chapter in the history of debugging. IEEE Annals of the History of Computing, 14(4), 16–26.CrossRefGoogle Scholar
  12. Curry, H. B., & Wyatt, W. A. (1946). A study of inverse interpolation of the Eniac (BRL report No. 615). Aberdeen Proving Ground.Google Scholar
  13. Davis, M. (2000). The universal computer. New York: W. W. Norton & Company.Google Scholar
  14. Daylight, E. G. (2015). Towards a historical notion of ‘Turing—the father of Computer Science’. History and Philosophy of Logic, 36(3), 205–228.CrossRefGoogle Scholar
  15. De Mol, L., Carlé, M., & Bullynck, M. (2013). Haskell before Haskell: An alternative lesson in practical logics of the ENIAC. Journal of Logic and Computation, 25(4), 1011–1046.CrossRefGoogle Scholar
  16. Eckert, J. P., Jr. (1946). A preview of a digital computing machine. In M. Campbell-Kelly & M. R. Williams (Eds.), The Moore school lectures: Theory and techniques for design of electronic digital computers (Volume 9 of Charles Babbage Institute reprint series for the history of computing, pp 109–126). The MIT Press.Google Scholar
  17. Eckert, J. P., & Mauchly, J. W. (1945). Automatic high speed computing: A progress report on the EDVAC. Moore School of Electrical Engineering.Google Scholar
  18. Ensmenger, N. (2010). The computer boys take over. Cambridge: MIT Press.CrossRefGoogle Scholar
  19. Ensmenger, N. (2016). The multiple meanings of a flowchart. Information & Culture, 51(3), 321–351.CrossRefGoogle Scholar
  20. Feigenbaum, E. A., & Feldman, J. (1963). Computers and thought. New York: McGraw-Hill.Google Scholar
  21. Goldstine, H. H. (1944a). Letter to John von Neumann. ETE-UP, Plaintiff’s Trial Exhibit Number 2512.Google Scholar
  22. Goldstine, H. H. (1944b). Letter to Lt. Col. P. N. Gillon. ETE-UP, Plaintiff’s Trial Exhibit Number 2343.Google Scholar
  23. Goldstine, H. H. (1944c). Letter to Lt. Col. P. N. Gillon. ETE-UP, Plaintiff’s Trial Exhibit Number 2395.Google Scholar
  24. Goldstine, H. H. (1945). Letter to Haskell B. Curry. ETE-UP, Plaintiff’s Trial Exhibit Number 3556.Google Scholar
  25. Goldstine, H. H., & von Neumann, J. (1947). Planning and coding of problems for an electronic computing instrument (Vol. 1). Princeton: Institute for Advanced Study.Google Scholar
  26. Grattan-Guinness, I. (1990). Work for the hairdressers: The production of de Prony’s logarithmic and trigonometric tables. Annals of the History of Computing, 12(3), 177–185.CrossRefGoogle Scholar
  27. Grier, D. A. (1998). The math tables project of the Work Projects Administration: The reluctant start of the computing era. IEEE Annals of the History of Computing, 20(3), 33–50.CrossRefGoogle Scholar
  28. Haigh, T. (2014). Actually, Turing did not invent the computer. Communications of the ACM, 57(1), 36–41.CrossRefGoogle Scholar
  29. Haigh, T., Priestley, M., & Rope, C. (2014). Reconsidering the stored-program concept. IEEE Annals of the History of Computing, 36(1), 4–17.CrossRefGoogle Scholar
  30. Haigh, T., Priestley, M., & Rope, C. (2016). ENIAC in action: Making and remaking the modern computer. Cambridge: MIT Press.Google Scholar
  31. Halsey, F. A. (1896). Some special forms of computers. Transactions of the American Society of Mechanical Engineers, 18, 70–74.Google Scholar
  32. Hartree, D. R. (1949). Calculating instruments and machines. Urbana: The University of Illinois Press.Google Scholar
  33. Harvard. (1946). A manual of operation for the Automatic Sequence Controlled Calculator. Vol. I of the Annals of the Computation Laboratory of Harvard University, Harvard University Press.Google Scholar
  34. Harvard. (1949). Description of a relay calculator. Vol. XXIV of the Annals of the Computation Laboratory of Harvard University, Harvard University Press.Google Scholar
  35. Hering, C. (1891). Universal wiring computer for determining the size of wires for incandescent electric light leads. New York: W. J. Johnston.Google Scholar
  36. Hopper, G. M. (1981). Keynote address. In R. L. Wexelblat (Ed.), History of programming languages (pp. 7–20). New York: Academic.Google Scholar
  37. Hurd, C. C. (1985). A note on early Monte Carlo computations and scientific meetings. Annals of the History of Computing, 7(2), 141–155.CrossRefGoogle Scholar
  38. IBM. (1956). The FORTRAN automatic coding system for the IBM 704 EDPM: Programmer’s reference manual. New York: Applied Science Division and Programming Research Department, IBM.Google Scholar
  39. IBM. (1958). Reference manual: FORTRAN II for the IBM 704 data processing system. New York: IBM Corporation.Google Scholar
  40. Knuth, D. E. (1973). The art of computer programming. (Vol. 3: Sorting and searching). Reading: Addison-Wesley.Google Scholar
  41. Lubkin, S. (1947). Proposed programmning for the EDVAC. MSOD, box 8.Google Scholar
  42. Mahoney, M. S. (2005). The histories of computing(s). Interdisciplinary Science Reviews, 30(2), 119–135.CrossRefGoogle Scholar
  43. Mauchly, J. W. (1942). The use of high speed vacuum tubes for calculating. In Randell (1982) (pp. 355–358).Google Scholar
  44. Mindell, D. A. (2002). Between human and machine: Feedback, control, and computing before cybernetics. Baltimore: John Hopkins University Press.Google Scholar
  45. Moore School. (1943). The ENIAC: A report covering work until December 31, 1943. Moore School of Electrical Engineering, University of Pennsylvania.Google Scholar
  46. Moore School. (1944). The ENIAC: Progress report covering work from January 1 to June 30, 1944. Moore School of Electrical Engineering, University of Pennsylvania.Google Scholar
  47. Newell, A., & Shaw, J. C. (1957). Programming the logic theory machine. In Proceedings of the Western Joint Computer Conference (pp. 230–240).Google Scholar
  48. Newell, A., & Simon, H. A. (1956). Current developments in complex information processing RAND corporation report P-850.Google Scholar
  49. Priestley, M. (2011). A science of operations: Machines, logic and the invention of programming. London: Springer.CrossRefGoogle Scholar
  50. Priestley, M. (2017). AI and the origins of the functional programming language style. Minds and Machines, 27(3), 449–472.CrossRefGoogle Scholar
  51. Randell, B. (1982). The origin of digital computers: Selected papers (3rd ed.). Springer.CrossRefGoogle Scholar
  52. Reed, H. L. (1952). Firing table computations on the ENIAC. In Proceedings of the 1952 ACM National Meeting, Pittsburgh (pp. 103–106).Google Scholar
  53. Stibitz, G. R. (1945). Relay computers (AMP Report 171.1R). Applied Mathematics Panel, National Defense Research Committee.Google Scholar
  54. Strachey, C. S. (1952). Logical or non-mathematical programmes. In Proceedings of the 1952 ACM National Meeting, Toronto (pp. 46–49).Google Scholar
  55. Turing, A. (1946). Proposed electronic calculator (DSIR 10/385). London: The National Archives.Google Scholar
  56. von Neumann, J. (1944a). Letter to Robert Oppenheimer (LA-UR-12-24686). Los Alamos National Laboratories.Google Scholar
  57. von Neumann, J. (1944b). Proposal and analysis of a new numerical method for the treatment of hydrodynamical shock problems. In A. H. Taub (Ed.) (1963) John von Neumann, collected works, volume VI: Theory of games, astrophysics, hydrodynamics and meteorology (pp. 361–379). Princeton: Pergamon Press.Google Scholar
  58. von Neumann, J. (1945a). Memorandum on mechanical computing devices, to Col. L. E. Simon. Philadelphia: Herman Heine Goldstine Papers, box 21, American Philosophical Society.Google Scholar
  59. von Neumann, J. (1945b). First draft of a report on the EDVAC. Moore School of Electrical Engineering, University of Pennsylvania.CrossRefGoogle Scholar
  60. von Neumann, J. (1945c). Untitled typescript containing discussion of EDVAC program. American Philosophical Society, Mss. 510.78.V89p.Google Scholar
  61. von Neumann, J. (1947). Letter to Robert Richtmyer, March 11, 1947. In Hurd (1985) (pp. 149–153).Google Scholar
  62. Wilkes, M. V., Wheeler, D. J., & Gill, S. (1951). The preparation of programs for an electronic digital computer. Cambridge: Addison-Wesley Press, Inc.Google Scholar
  63. Zuse, K. (1936). Method for automatic execution of calculations with the aid of computers. In Randell (1982). (pp 163–170).Google Scholar

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  • Mark Priestley
    • 1
  1. 1.Independent ResearcherLondonUK

Personalised recommendations