Setting-up early computer programs: D. H. Lehmer’s ENIAC computation


A complete reconstruction of Lehmer’s ENIAC set-up for computing the exponents of p modulo two is given. This program served as an early test program for the ENIAC (1946). The reconstruction illustrates the difficulties of early programmers to find a way between a man operated and a machine operated computation. These difficulties concern both the content level (the algorithm) and the formal level (the logic of sequencing operations).

This is a preview of subscription content, access via your institution.


  1. 1.

    Alt F.: Archaeology of computers—reminiscences, 1945–1947. Commun. ACM 15(7), 693–694 (1972)

    Article  MathSciNet  Google Scholar 

  2. 2.

    Fritz W.B.: ENIAC—a problem solver. Ann. Hist. Comput. IEEE 16(1), 25–45 (1994)

    Article  Google Scholar 

  3. 3.

    Goldstine H.H.: The Computer—From Pascal to von Neumann. Princeton University Press, Princeton (1973)

    Google Scholar 

  4. 4.

    McCartney S.: ENIAC—The Triumphs and Tragedies of the World’s First Computer. Walker, New York (1999)

    Google Scholar 

  5. 5.

    Goldstine, A.K.: Report on the ENIAC, technical report I. Technical Report, Moore School of Electrical Engineering, University of Pennsylvania, Philadelphia (1946)

  6. 6.

    Clippinger, R.F.: A logical coding system applied to the ENIAC. BRL 673, Ballistic Research Laboratories, Aberdeen Proving Ground (1948)

  7. 7.

    Neukom, H.: The second life of ENIAC: ENIAC’s converter code. Ann. Hist. Comput. IEEE (web extra) (2006)

  8. 8.

    Bauer F.L.: Wer erfand den Von-Neumann-Rechner?. Inform. Spektrum 21, 84–89 (1998)

    Article  Google Scholar 

  9. 9.

    Mol, L.D., Bullynck, M.: A week-end off. The first extensive number-theoretical computation on the ENIAC. In: Beckmann, A., Dimitracopoulos, C. L., öwe, B. (eds.) Computability in Europe 2008 Logic and Theory of Algorithms Logic and Theory of Algorithms, Fourth Conference on Computability in Europe, CiE 2008, Athens, Greece, June 2008, Proceedings, Lecture Notes in Computer Science, vol. 5028, pp. 158–167 (2008)

  10. 10.

    Burks A.W., Burks A.R.: The ENIAC: first general-purpose electronic computer. Ann. Hist. Comput. IEEE 3(4), 310–399 (1981)

    Article  Google Scholar 

  11. 11.

    Zoppke T., Rojas R.: The virtual life of ENIAC: simulating the operation of the first electronic computer. IEEE Ann. Hist. Comput. 28(2), 18–25 (2006)

    Article  MathSciNet  Google Scholar 

  12. 12.

    Goldstine H., Goldstine A.: The electronic numerical integrator and computer (ENIAC). Math. Tabels Other Aids Comput. 2(15), 97–110 (1946)

    MATH  Article  MathSciNet  Google Scholar 

  13. 13.

    Hartree D.R.: The ENIAC, an electronic computing machine. Nature 158(4015), 500–506 (1946)

    MATH  Article  MathSciNet  Google Scholar 

  14. 14.

    van der Spiegel J., Tau J.F., Ala’ilima T.F., Ang L.P.: The ENIAC–history, operation and reconstruction in VLSI. In: Rojas, R., Hashagen, U. (eds) The First Computers–History and Architectures, pp. 121–178. MIT Press, Cambridge, MA (2000)

    Google Scholar 

  15. 15.

    Hansen, P.: A Java simulation of the ENIAC. Master’s thesis, Universität Osnabrück, Osnabrück (2004)

  16. 16.

    Marcus M., Akera A.: Exploring the architecture of an early machine: the historical relevance of the ENIAC machine architecture. IEEE Ann. Hist. Comput. 18(1), 17–24 (1996)

    Article  Google Scholar 

  17. 17.

    Cope W.F., Hartree D.R.: The laminar boundary layer in compressible flow. Philos. Trans. R. Soc. Lond. A Math. Phys. Sci. 241, 1–69 (1948)

    Article  MathSciNet  Google Scholar 

  18. 18.

    Goldstine, H.H., von Neumann, J.: Planning and coding problems for an electronic computing instrument. Institute for Advanced Study, Princeton, NJ (1947/1963). Reprinted in: Taub, A.A. (ed.), John von Neumann, Collected Works, pp. 80–151. Pergamon Press, Oxford (1963)

  19. 19.

    Curry, H.B.: The logic of program composition. In: Applications scientifiques de la logique mathématique. Actes du 2e Colloque International de Logique Mathématique, Paris, 25–30 août 1952, Institut Henri Poincaré, pp. 97–102. Gauthier-Villars, Paris (1954)

  20. 20.

    Knuth D.E., Pardo L.T.: The early development of programming languages. In: Belzer, J., Holzman, A., Kent, A. (eds) Encyclopedia of Computer Science and Technology, pp. 419–496. Dekker, New York (1979)

    Google Scholar 

  21. 21.

    Lehmer D.H.: A history of the sieve process. In: Howlett, J., Metropolis, N., Rota, G.C. (eds) A History of Computing in the 20th Century, pp. 445–456. Academia, New York (1980)

    Google Scholar 

  22. 22.

    Akera, A. (interviewer): Franz Alt interview. ACM Oral History Interviews (2006)

  23. 23.

    Lehmer D.H.: Tests for primality by the converse of Fermat’s theorem. Bull. Am. Math. Soc. 33, 327–340 (1927)

    MATH  Article  MathSciNet  Google Scholar 

  24. 24.

    Lehmer D.H.: On the converse of Fermat’s theorem. Am. Math. Mon. 43(6), 347–354 (1936)

    Article  MathSciNet  Google Scholar 

  25. 25.

    Lehmer D.H.: Maurice Kraitchik, Recherches sur la Théorie des Nombres, v. 1, Paris, 1924 (errata). Math. Tables Other Aids Comput. 2(19), 313 (1947)

    Google Scholar 

  26. 26.

    Lehmer D.H.: On the factors of 2n ± 1. Bull. Am. Math. Soc. 53(2), 164–167 (1947)

    MATH  Article  MathSciNet  Google Scholar 

  27. 27.

    Lehmer D.H.: On the converse of Fermat’s theorem II. Am. Math. Mon. 56(5), 300–309 (1949)

    MATH  Article  MathSciNet  Google Scholar 

  28. 28.

    Hartree D.R.: Calculating Instruments and Machines. University of Illinois Press, Urbana (1949)

    Google Scholar 

  29. 29.

    Lehmer D.H.: The influence of computing on mathematical research and education. In: Lasalle, J. (eds) The Influence of Computing on Mathematical Research and Education, Proceedings of Symposia in Applied Mathematics, vol. 20, pp. 3–12. American Mathematical Society, Providence (1974)

    Google Scholar 

  30. 30.

    Hoffleit D.: A comparison of various computing machines used in the reduction of Doppler observations. Math. Tabels Other Aids Comput. 3(25), 373–377 (1949)

    Article  Google Scholar 

  31. 31.

    Hopper, G.M., Mauchly, J.: Influence of programming techniques on the design of computers. Proceedings of the IRE pp. 1250–1254. (1953)

  32. 32.

    Dijkstra, E.W.: Notes on structured programming. In: Structured Programming, pp. 1–82. Academic Press, New York (1972)

  33. 33.

    Hoare C.A.R.: Communicating sequential processes. Commun. ACM 21(8), 666–678 (1978)

    MATH  Article  MathSciNet  Google Scholar 

Download references

Author information



Corresponding author

Correspondence to Liesbeth De Mol.

Rights and permissions

Reprints and Permissions

About this article

Cite this article

Bullynck, M., De Mol, L. Setting-up early computer programs: D. H. Lehmer’s ENIAC computation. Arch. Math. Logic 49, 123–146 (2010).

Download citation


  • History of computer programs
  • Number theory
  • Derrick H. Lehmer

Mathematics Subject Classification (2000)

  • 11-04
  • 11N36
  • 11A07
  • 01A60
  • 11Y16