"Those who don't know history are destined to repeat it."
Edmund Burke. What happened on this Day in History?

Friday, October 14, 2011

The invention of the computer

There is not just one inventor of the computer, as the ideas of many scientists and engineers led to its invention. These ideas were developed in the 1930s and 1940s, mostly independently of each other, in Germany, Great Britain and the USA, and were turned into working machines.

In Germany, Konrad Zuse hit upon the idea of building a program-controlled calculating machine when he had to deal with extensive calculations in statics. In 1935, he began to design a program-controlled calculating machine in his parents' home in Berlin. It was based on the binary system and used punched tape for the program input. The Z1, which was built between 1936 and 1938, was a purely mechanical machine which was not fully operational. In 1940, Zuse began to build a successor to the Z1 based on relay technology. In May 1941, he finished the Z3 - worldwide the first freely programmable program-controlled automatic calculator that was operational.

Several similar developments were in progress in the USA at the same time. In 1939, IBM started to build a program-controlled relay calculator on the basis of a concept that Howard H. Aiken had put forward in 1937. This machine - the IBM Automatic Sequence Controlled Calculator (Mark I) - was used on production work from 1944.

However, it was not Aiken's and Stibitz's relay calculators that were decisive for the development of the universal computer but the ENIAC, which was developed at the Moore School of Electrical Engineering at the University of Pennsylvania. Extensive ballistic computations were carried out there for the U.S. Army during World War II with the aid of a copy of the analog Differential Analyzer, which had been designed by Vannevar Bush, and more than a hundred women working on mechanical desk calculators. Nevertheless, capacity was barely sufficient to compute the artillery firing tables that were needed. In August 1942, John W. Mauchly, a physicist, presented a memo at the Moore School for a vacuumtube computer that was conceived as a digital version of the Differential Analyzer.

Mauchly had adopted John Vincent Atanasoff's idea for an electronic computer. Atanasoff had developed the ABC special-purpose computer at the Iowa State College (now Iowa State University) to solve systems of linear equations. Mauchly had viewed the ABC in June 1940. John Presper Eckert, a young electronic engineer at the Moore School, was responsible for the brilliant engineering of the new ENIAC. The work began on 31 May 1943 with funding from the U.S. Army. In February 1946, successful program runs were demonstrated.

At almost the same time, the Model I to Model VI relay calculators were built at Bell Laboratories in New York following a suggestion by George R. Stibitz.

John von Neumann, an influential mathematician, turned his attention to the ENIAC in the summer of 1944. While this computer was being built, von Neumann and the ENIAC team drew up a plan for a successor to the ENIAC. The biggest problem with the ENIAC was that its memory was too small. Eckert suggested a mercury delay-line memory which would increase memory capacity by a factor of 100 compared with the electronic memory used in the ENIAC.

An equally big problem was programming the ENIAC, which could take hours or even days.

In meetings with von Neumann, the idea of a stored-program, universal machine evolved. Memory was to be used to store the program in addition to data. This would enable the machine to execute conditional branches and change the flow of the program. The concept of a computer in the modern sense of the word was born.

In spring 1944, von Neumann wrote his "First Draft of a Report on the EDVAC" (Electronic Discrete Variable Computer) which described the stored-program, universal computer. The logical structure that was presented in this draft report is now referred to as the von Neumann architecture. This EDVAC report was originally intended for internal use only but it became the "bible" for computer pioneers throughout the world in the 1940s and 1950s.

The first two computers featuring the von Neumann architecture were not built in America but in Great Britain. On 21 June 1948, Frederic C. Williams of the University of Manchester managed to run the prototype of the Manchester Mark I, and thus proved it was possible to build a stored-program, universal computer. The first really functional von Neumann computer was built by Maurice Wilkes at Cambridge University. This machine called EDSAC first ran a program on 6 May 1949 computing a table of square numbers.