Abstract
We revisit the origins of the modern, so-called “stored program” computer during the 1940s from a media-centric viewpoint, from tape-driven relay computers to the introduction of delay line and cathode ray tube memories. Some early machines embodied fixed programs, but all general-purpose computers use a medium of some kind to store control information. The idea of a “memory space” composed of sequentially numbered “storage locations” is crucial to modern computing, but we show that this idea developed incrementally and was not fully articulated in John von Neumann’s First Draft of a Report on the EDVAC. Instead, the designers of computers based around delay line memories conceptualized their structure using different temporal and spatial schemes. Referencing the correct data was not just a question of “where” but also one of “when.”
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
- 2.
Copeland has in fact produced an excellent study of early tube-based memory devices (Copeland et al. 2017), but this engagement with materiality does not appear to have altered his conviction that Alan Turing invented the “stored program computer” in 1936.
- 3.
In Haigh et al. (2016), we attributed this work to Burks, but subsequent archival research has revealed the importance of Goldstine’s contribution.
- 4.
Mark II could be operated as one large machine or split to allow independent problems to be computed simultaneously on its two “sides.”
- 5.
This paragraph is based on the account given in (Burks n.d.).
- 6.
The tapes of Turing’s abstract machines of 1936 were accessed in a similar way: temporary marks were left in squares adjacent to the squares holding data of interest and later “hunted” for.
- 7.
These ordered pairs were written, problematically from a typist’s point of view, μρ in the First Draft.
- 8.
It became common for machines using delay lines or magnetic drums as their primary memory to include an additional address to code the location of the next instruction, thus allowing optimum coding . However, that was not the only motivation. EDVAC’s designer (Lubkin 1947) justified the additional address by saying it would make programs easier to change, not as a way to improve operational efficiency.
- 9.
See the detailed discussion in von Neumann (1945 , pp. 73–78). It is a curiosity that at this point von Neumann seems to be envisaging a “memory organ” based on the structure of the vertebrate eye.
- 10.
See Haigh et al. (2014). We have subsequently discovered the following occurrence of “stored program ” in a 1946 draft of Goldstine and von Neumann’s Planning and Coding reports : “acoustic or electrostatic storage devices will […] provide […] the possibility to modify (erase and rewrite) stored program information under the machine’s own control.” This usage is adjectival rather than substantive, however, and does not appear in the published reports. It is therefore unlikely to have inspired the use of the phrase within IBM in 1949, and we do not believe that this materially affects our earlier discussion of the topic.
References
Anonymous. 1944. ENIAC progress report dated June 30, 1944 In Moore School of Electrical Engineering, Office of the Director Records (box 1): UPD 8.4, University Archives and Records, University of Pennsylvania, Philadelphia, PA.
Bloch, Robert. 1984. Oral History Interview with William Aspray, Februrary 22, 1984. Charles Babbage Institute, Minneapolis, MN.
Burks, Arthur W. n.d. Unpublished book manuscript. In Arthur W. Burks papers, Institute for American Thought, Indiana University-Purdue University, Indianapolis, IN.
Burks, Arthur W., Herman Heine Goldstine, and John von Neumann. 1946. Preliminary Discussion of the Logical Design of an Electronic Computing Instrument. Princeton, NJ: Institute for Advanced Studies, 28 June 1946.
Campbell-Kelly, Martin. 1981. “Programming the Pilot Ace: Early Programming Activity at the National Physical Laboratory”. Annals of the History of Computing no. 3 (2):133–162.
Cohen, I. Bernard. 1999. Howard Aiken: Portrait of a Computer Pioneer. Cambridge, MA: MIT Press.
Cope, W. F. and Hartree D. R. 1948. The Laminar Boundary Layer in Compresible Flow. Philosophical Transactions of the Royal Society of London. Series A. 241(827), 1–69.
Copeland, B. Jack. 2013. Turing: Pioneer of the Information Age. New York, NY: Oxford University Press.
Copeland, B. Jack, Andre A. Haeff, Peter Gough, and Cameron Wright. 2017. “Screen History: The Haeff Memory and Graphics Tube”. IEEE Annals of the History of Computing no. 39 (1):9–28.
Croarken, Mary. 2003. “Tabulating the Heavens: Computing the Nautical Alamanac in 18th-Century England”. IEEE Annals of the History of Computing no. 25 (3):48–61.
Curry, Haskell. 1945. Letter to John von Neumann, August 10, 1945. In John von Neumann papers (box 3, folder 2): Library of Congress, Washington, DC.
Davis, Martin. 2001. Engines of Logic: Mathematicians and the Origin of the Computer. New York, NY: Norton.
Eckert, J. P., Jr, and J. W. Mauchly, 1944. “Use of acoustical, electrical, or other transmission line in a device for the registering of pulses, the counting, switching, sorting and scaling of pulses, and the use of such devices for performing arithmetic operations with pulses”. August 1944. In Herman H. Goldstine papers (box 21): American Philosophical Society, Philadelphia, PA.
Eckert, J. Presper, and John W. Mauchly. 1945. Automatic High Speed Computing: A Progress Report in the EDVAC. Report of Work Under Contract No. W_570_ORD_1926, Supplement No 4. (Plantiff Exhibit 3540). September 30. In ENIAC Patent Trial Collection: UPD 8.10, University of Pennsylvania Archives and Records Center, Philadelphia, PA.
Eckert, J. P., and T. K. Sharpless. 1945. Final Report under Contract OEMsr 387. Moore School of Electrical Engineering, University of Philadelphia, November 14, 1945. In Britton Chance papers (box 80, folder 7): American Philosophical Society, Philadelphia, PA.
Goldstine, Herman H, and John von Neumann. 1947. Planning and Coding Problems for an Electronic Computing Instrument. Part II, Volume 1. Princeton, NJ: Institute for Advanced Studies.
Grier, David Alan. 1996. “The ENIAC, the Verb ‘to program’ and the Emergence of Digital Computers”. IEEE Annals of the History of Computing no. 18 (1):51–55.
Grier, David Alan. 2006. When Computers Were Human. Princeton, NJ: Princeton University Press.
Haigh, Thomas, and Mark Priestley. 2016. “Where Code Comes From: Architectures of Automatic Control from Babbage to Algol”. Communications of the ACM no. 59 (1):39–44.
Haigh, Thomas, Mark Priestley, and Crispin Rope. 2014. “Reconsidering the Stored Program Concept”. IEEE Annals of the History of Computing no. 36 (1):4–17.
Haigh, Thomas, Mark Priestley, and Crispin Rope. 2016. ENIAC In Action: Making and Remaking the Modern Computer. Cambridge, MA: MIT Press.
IAS. 1945. Minutes of E.C. Meeting, November 19. Institute of Advanced Studies. In Herman H. Goldstine papers (box 27): American Philosophical Society, Philadelphia, PA.
IBM. IBM 650 Technical Fact Sheet, July 20. IBM Archives 1955.
Knuth, Donald E. 1970. “Von Neumann's First Computer Program.” ACM Computing Surveys no. 2 (4):247–260.
Lubkin, Samuel. 1947. Proposed Programming for the EDVAC. Moore School of Electrical Engineering, University of Philadelphia, January 1947. In Moore School of Electrical Engineering, Office of the Director Records (box 8): UPD 8.4, University Archives and Records, University of Pennsylvania, Philadelphia, PA.
Newman, M H A. 1948. “General Principles of the Design of All-Purpose Computing Machines”. Proceedings of the Royal Society of London, Series A no. 195:271–274.
Post, E. L. (1936) Finite combinatory processes - formulation 1. Journal of Symbolic Logic 1 (3):103–105.
Priestley, Mark. 2018. Routines of Substitution: John von Neumann's work on Software Development, 1945–1948. (Springer, 2018).
Rajchman, Jan. 1946 The Selectron. In Cambell-Kelly, M., and Williams, M. R. The Moore School Lectures. MIT Press, 1985.
Rochester, Nathaniel. 1949. A Calculator Using Electrostatic Storage and a Stored Program. May 17, 1949. IBM Corporate Archives, Somers, NY.
Staff of the Harvard Computation Laboratory. 1946. A Manual of Operation for the Automatic Sequence Controlled Calculator. Cambridge, MA: Harvard University Press.
Stibitz, George R. 1967. “The Relay Computers at Bell Labs.” Datamation 13 (4):35–44 and 13 (5):45–50.
Swade, Doron. 2001. The Difference Engine: Charles Babbage and the Quest to Build the First Computer. New York: Viking Penguin.
The Staff of the Computation Laboratory. 1949. Description of a Relay Calculator, Volume XIV of the Annals of the Computation Laboratory of Harvard University. Cambridge, MA: Harvard University Press.
Turing, A. M. (1936) On computable numbers, with an application to the Entscheidungsproblem. Proceedings of the London Mathematical Society 42:230–265.
Turing, Alan. 1946. Proposed Electronic Calculator. NPL. Reprinted in Carpenter, B. E. and Doran, R. W (1986), A. M. Turing's ACE Report of 1946 and Other Papers (MIT Press).
von Neumann, John. 1944. Letter to Robert Oppenheimer, August 1, 1944 (Los Alamos National Laboratory, LA-UR-12-24686).
von Neumann, John. 1945. Letter to Herman Goldstine, February 12, 1945. In Herman H. Goldstine papers (box 9): American Philosophical Society, Philadelphia, PA.
von Neumann, John, 1945. First Draft of a Report on the EDVAC. Moore School of Electrical Engineering, University of Pennsylvania, June 30, 1945.
Ware, Willis H. 2008. RAND and the Information Evolution: A History in Essays and Vignettes. Santa Monica, CA: RAND Corporation.
Wilkes, M., Wheeler, D. J., Gill, S. 1951. The Preparation of Programs for an Electronic Digital Computer. Addison-Wesley.
Williams, S. B. 1944. “Calculating System”. Bell Telephone Laboratories, March 29, 1944. In Herman H. Goldstine papers (box 20): American Philosophical Society, Philadelphia, PA.
Zuse, Konrad. 1993. The Computer—My Life. Berling/Heidelberg: Springer-Verlag.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this chapter
Cite this chapter
Priestley, M., Haigh, T. (2019). The Media of Programming. In: Haigh, T. (eds) Exploring the Early Digital. History of Computing. Springer, Cham. https://doi.org/10.1007/978-3-030-02152-8_8
Download citation
DOI: https://doi.org/10.1007/978-3-030-02152-8_8
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-02151-1
Online ISBN: 978-3-030-02152-8
eBook Packages: Computer ScienceComputer Science (R0)