Historical Developments in Computers to the 1950s

Jack Minker

The complete paper is available in

Abstract

The start of the computer revolution is considered to have taken place with the development of the ENIAC electronic digital computer in 1946, slightly more than 50 years ago, at the Moore School of Electrical Engineering at the University of Pennsylvania. I will trace the the scientific developments that led to the ENIAC and other computers developed at around the same time.

In antiquity, Euclid developed the first algorithm and Aristotle developed Aristotelian logic, fundamental to computers. Contributions were made in the 1600s by Schickard, Pascal and Leibniz who developed calculators. In the 1800s the Jacquard Loom for weaving patterns was influential in the development of digital computers proposed and detailed by Charles Babbage. Mathematical contributions were made by George Boole, and the vacuum tube, to be used in the early electronic digital computers was developed by John A. Fleming.

In the 1930s, Alan Turing developed the concept of an abstract machine, the Turing Machine that is able to simulate any digital computer. The first digital computers were started in the 1930s by John Atanasoff and Cliff Berry at Iowa State University, by Howard Aiken at Harvard University, by George Stibitz in conjunction with Samuel B. Williams and Ernest G. Andrews at the Bell Telephone Laboratories, and by Konrad Zuse in Germany. In England, as part of their code breaking efforts, an electronic digital computer was developed by Tommy Flowers, Sir Harry Hinsley and M.H.A. Newman. In the 1940s the first large scale electronic digital computer, the ENIAC was designed and developed by Presper Eckert and John Mauchly.

Work on the ENIAC led to the concept of the stored program computer, in which the computer program and the data to be operated upon co-existed in main memory. Computers influenced by the stored program concept developed in the 1950s are discussed. A discussion is also presented of programming developments that are fundamental to the development of computers.