Skip to main content

The Media of Programming

  • Chapter
  • First Online:
Exploring the Early Digital

Part of the book series: History of Computing ((HC))

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.”

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 34.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Hardcover Book
USD 44.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Of course, the “stored program concept” has been discussed at length by many other historians, including William Aspray, Paul Ceruzzi , and Doron Swade. We engage in detail with their work in {Haigh et al. (2016), Chap. 11} and {Haigh et al. (2014)}, and will not repeat that analysis here.

  2. 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. 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. 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. 5.

    This paragraph is based on the account given in (Burks n.d.).

  6. 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. 7.

    These ordered pairs were written, problematically from a typist’s point of view, μρ in the First Draft.

  8. 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. 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. 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.

    Google Scholar 

  • Bloch, Robert. 1984. Oral History Interview with William Aspray, Februrary 22, 1984. Charles Babbage Institute, Minneapolis, MN.

    Google Scholar 

  • Burks, Arthur W. n.d. Unpublished book manuscript. In Arthur W. Burks papers, Institute for American Thought, Indiana University-Purdue University, Indianapolis, IN.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • Cohen, I. Bernard. 1999. Howard Aiken: Portrait of a Computer Pioneer. Cambridge, MA: MIT Press.

    Book  Google Scholar 

  • 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.

    Article  MathSciNet  Google Scholar 

  • Copeland, B. Jack. 2013. Turing: Pioneer of the Information Age. New York, NY: Oxford University Press.

    MATH  Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Article  MathSciNet  Google Scholar 

  • 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.

    Google Scholar 

  • Davis, Martin. 2001. Engines of Logic: Mathematicians and the Origin of the Computer. New York, NY: Norton.

    MATH  Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Article  MathSciNet  Google Scholar 

  • Grier, David Alan. 2006. When Computers Were Human. Princeton, NJ: Princeton University Press.

    Google Scholar 

  • 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.

    Article  Google Scholar 

  • 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.

    Article  Google Scholar 

  • Haigh, Thomas, Mark Priestley, and Crispin Rope. 2016. ENIAC In Action: Making and Remaking the Modern Computer. Cambridge, MA: MIT Press.

    Book  Google Scholar 

  • 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.

    Google Scholar 

  • IBM. IBM 650 Technical Fact Sheet, July 20. IBM Archives 1955.

    Google Scholar 

  • Knuth, Donald E. 1970. “Von Neumann's First Computer Program.” ACM Computing Surveys no. 2 (4):247–260.

    Article  Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • Post, E. L. (1936) Finite combinatory processes - formulation 1. Journal of Symbolic Logic 1 (3):103–105.

    Google Scholar 

  • Priestley, Mark. 2018. Routines of Substitution: John von Neumann's work on Software Development, 1945–1948. (Springer, 2018).

    Google Scholar 

  • Rajchman, Jan. 1946 The Selectron. In Cambell-Kelly, M., and Williams, M. R. The Moore School Lectures. MIT Press, 1985.

    Google Scholar 

  • Rochester, Nathaniel. 1949. A Calculator Using Electrostatic Storage and a Stored Program. May 17, 1949. IBM Corporate Archives, Somers, NY.

    Google Scholar 

  • Staff of the Harvard Computation Laboratory. 1946. A Manual of Operation for the Automatic Sequence Controlled Calculator. Cambridge, MA: Harvard University Press.

    Google Scholar 

  • Stibitz, George R. 1967. “The Relay Computers at Bell Labs.” Datamation 13 (4):35–44 and 13 (5):45–50.

    Google Scholar 

  • Swade, Doron. 2001. The Difference Engine: Charles Babbage and the Quest to Build the First Computer. New York: Viking Penguin.

    MATH  Google Scholar 

  • 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.

    Google Scholar 

  • Turing, A. M. (1936) On computable numbers, with an application to the Entscheidungsproblem. Proceedings of the London Mathematical Society 42:230–265.

    Article  MathSciNet  Google Scholar 

  • 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).

    Google Scholar 

  • von Neumann, John. 1944. Letter to Robert Oppenheimer, August 1, 1944 (Los Alamos National Laboratory, LA-UR-12-24686).

    Google Scholar 

  • von Neumann, John. 1945. Letter to Herman Goldstine, February 12, 1945. In Herman H. Goldstine papers (box 9): American Philosophical Society, Philadelphia, PA.

    Google Scholar 

  • von Neumann, John, 1945. First Draft of a Report on the EDVAC. Moore School of Electrical Engineering, University of Pennsylvania, June 30, 1945.

    Google Scholar 

  • Ware, Willis H. 2008. RAND and the Information Evolution: A History in Essays and Vignettes. Santa Monica, CA: RAND Corporation.

    Book  Google Scholar 

  • Wilkes, M., Wheeler, D. J., Gill, S. 1951. The Preparation of Programs for an Electronic Digital Computer. Addison-Wesley.

    Google Scholar 

  • Williams, S. B. 1944. “Calculating System”. Bell Telephone Laboratories, March 29, 1944. In Herman H. Goldstine papers (box 20): American Philosophical Society, Philadelphia, PA.

    Google Scholar 

  • Zuse, Konrad. 1993. The Computer—My Life. Berling/Heidelberg: Springer-Verlag.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics