The Prehistory of Computers The story of computers begins long before the 20th century, and, as a matter of fact, long before the first computers were actually built. The idea of reducing the act of thinking to combinatorial operations is already present in Raimundus Lullus' (1232-1316) ``Ars Magna''. Wilhelm Schiackard, an inventor of the 17th century is credited with building the very first forerunner of the computer, the calculator, capable of performing addition. Several famous mathematicians and philsophers---such as Leibniz and Pascal---joined the effort and built working calculators, that could perform all the four basic operations of arithmetic, just using gears and levers. Leibniz also developed the idea of a combinatorial view of thinking, being one of the first people to invent Euler diagrams (long before Euler or Venn), and the idea of representing numbers, or for that matter anything, in binary. He expected much of the method: "quando orientur controversiae, non magis disputatione opus erit inter duos philosophos, quam inter duos Computistas. Sufficiet enim calamos in manus sumere sedereque ad abacos, et sibi mutuo (accito si placet amico) dicere: c a l c u l e m u s." From the Calculator to the Computer During the 19th century the need for accurate calculation become ubiquituous, in particular for computing precise tables of logarithms for nautical use. The British philosopher and inventor Charles Babbage (1791-1871) designed his famous difference enginge to do exactly that: compute transcendental functions automatically using the method of differences. picture of difference engine Working on the design of the difference engine led him to the more general idea of a programmable calculator, whose operations could be controlled by a program. The idea of programmability was influenced by Jacquard and his looms (link) that were operated by punch cards. Babbage took this idea, combined it with the idea of a calculator, and invented the computer, complete with input devives, output devices (printer), and storage (the mill). He called his computer the analytical engine. While parts of it were built, a combination of lack of finanical support, precision of instruments, and personality flaws, obstructed the building of the analytical engine, and it was never finished. However, with some noticable differences (like working in decimal, rather than binary, as Leibniz had alread suggested [link above]), the ideas that went into it are astonishingly similar to the modern computer. Relays We saw that the conceptual idea for a computer was already present in the 19th century; what was lacking was a means to implement it. The mechanical approach of Babbage survived for a while. For example, the 1890 US census was done by automatied tabulating machines built by Herman Hollerith. These machines were able to finish the census within just six weeks. Hollerith continued his venture by building business machines. International Business Machines (IBM), founded in 1896. However, the times of mechanics were drawing to an end. Electricity was about to take over, and the first sign of that was the use of electromagnetic relays, leading to the early computers of Zuse and Atanasoff. Relays were still partly mechanical, however, and therefore to slow. A new idea was needed. Vacuum Tubes The replacement for realys turned out to be the vacuum tube, which was becoming economically feasible in the 1940s. Their logical behavior is similar to relays, in that it can be in one of two states, but the switching back and forth is no longer reflected by a mechanical state, but by an electronic one. And, therefore, much fast to update. This technology led to the first big computers, such as the ENIAC, the Colossus, and the Mark I. References: David Reed. A Balanced Introduction to Computer Science, Prentice-Hall, 2005. Herman H. Goldstine. The Computer from Pascal to von Neumann, Princeton University Press, 1980 Charles and Ray Eames. A Computer Perspective, Harvard University Press, 1990.