Friday, February 25, 2005

General-purpose computers

By definition a general-purpose computer can solve any problem that can be expressed as a program and executed within the practical limits set by: the storage capacity of the computer, the size of program, the speed of program execution, and the reliability of the machine. In 1934 Alan Turing proved that, given the right program, any general-purpose computer could emulate the behavior of any other computer. This mathematical proof was purely theoretical as no general-purpose computers existed at the time. The implications of this proof are profound, for example, any existing general-purpose computer is theoretically able to emulate, albeit slowly, any general-purpose computer that may be built in the future.
Computers with general-purpose capabilities are called Turing-complete and this status is often used as the threshold capability that defines modern computers, however, this definition is problematic. Several computing devices with simplistic designs have been shown to be Turing-complete. The Z3, developed by Konrad Zuse in 1941 is the earliest working computer that has been shown to be Turing-complete, so far (the proof was developed in 1998). While the Z3 and possibly other early devices may be theoretically Turing-complete they are impractical as general-purpose computers. They lie in what is humorously known as the Turing Tar-Pit - "a place where anything is possible but nothing of interest is practical" (See The Jargon File Modern computers are more than theoretically general-purpose; they are also practical general-purpose tools. The modern, digital, electronic, general-purpose computer was developed, by many contributors, over an extended period from the mid 1930s to the late 1940s, during this period many experimental machines were built that were possibly Turing-complete (ABC, ENIAC, Harvard Mk I, Colossus etc see the History of computing hardware). All these machines have been claimed, at one time or another, as the first computer, but they all had limited utility as general-purpose problem-solving devices and their designs have been discarded.