Abstract
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).
Similar content being viewed by others
References
Alt F.: Archaeology of computers—reminiscences, 1945–1947. Commun. ACM 15(7), 693–694 (1972)
Fritz W.B.: ENIAC—a problem solver. Ann. Hist. Comput. IEEE 16(1), 25–45 (1994)
Goldstine H.H.: The Computer—From Pascal to von Neumann. Princeton University Press, Princeton (1973)
McCartney S.: ENIAC—The Triumphs and Tragedies of the World’s First Computer. Walker, New York (1999)
Goldstine, A.K.: Report on the ENIAC, technical report I. Technical Report, Moore School of Electrical Engineering, University of Pennsylvania, Philadelphia (1946)
Clippinger, R.F.: A logical coding system applied to the ENIAC. BRL 673, Ballistic Research Laboratories, Aberdeen Proving Ground (1948)
Neukom, H.: The second life of ENIAC: ENIAC’s converter code. Ann. Hist. Comput. IEEE (web extra) (2006)
Bauer F.L.: Wer erfand den Von-Neumann-Rechner?. Inform. Spektrum 21, 84–89 (1998)
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)
Burks A.W., Burks A.R.: The ENIAC: first general-purpose electronic computer. Ann. Hist. Comput. IEEE 3(4), 310–399 (1981)
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)
Goldstine H., Goldstine A.: The electronic numerical integrator and computer (ENIAC). Math. Tabels Other Aids Comput. 2(15), 97–110 (1946)
Hartree D.R.: The ENIAC, an electronic computing machine. Nature 158(4015), 500–506 (1946)
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)
Hansen, P.: A Java simulation of the ENIAC. Master’s thesis, Universität Osnabrück, Osnabrück (2004)
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)
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)
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)
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)
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)
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)
Akera, A. (interviewer): Franz Alt interview. ACM Oral History Interviews (2006)
Lehmer D.H.: Tests for primality by the converse of Fermat’s theorem. Bull. Am. Math. Soc. 33, 327–340 (1927)
Lehmer D.H.: On the converse of Fermat’s theorem. Am. Math. Mon. 43(6), 347–354 (1936)
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)
Lehmer D.H.: On the factors of 2n ± 1. Bull. Am. Math. Soc. 53(2), 164–167 (1947)
Lehmer D.H.: On the converse of Fermat’s theorem II. Am. Math. Mon. 56(5), 300–309 (1949)
Hartree D.R.: Calculating Instruments and Machines. University of Illinois Press, Urbana (1949)
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)
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)
Hopper, G.M., Mauchly, J.: Influence of programming techniques on the design of computers. Proceedings of the IRE pp. 1250–1254. (1953)
Dijkstra, E.W.: Notes on structured programming. In: Structured Programming, pp. 1–82. Academic Press, New York (1972)
Hoare C.A.R.: Communicating sequential processes. Commun. ACM 21(8), 666–678 (1978)
Author information
Authors and Affiliations
Corresponding author
Rights 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). https://doi.org/10.1007/s00153-009-0169-8
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00153-009-0169-8