Computing device
Computing devices are a more general class of devices which could perform complicated calculations than 'computers', the meaning of which is generally now 'stored-program computing device' - i.e. the control program (which, it must be emphasized, is a specified series of elementary steps, not simply the ability to make physical changes to the device to change what calculation it performs - even if those changes are instantiated in something that was added to the device for that exact purpose, like the plug-boards of the ENIAC) - is stored in memory that the computer can modify, allowing the program to change itself if it desires).
Whether or not the ability to modify its own program is important, for something to be classified as a 'computer', can be debated; modern computers almost always run pure code (in part because self-modifying code can be difficult to understand and debug), so it is probably not critical; indeed, embedded systems usually use ROM for their program storage. On the other hand, program modifiability is a key aspect of classical Turing machines; but it might be possible for a machine running out of ROM to emulate a Turing machine, thereby making such a machine a Turing machine. It is also possible that having the ability to do conditional branches could be an alternative to being able to modify the program, for Turing completeness.
Complex computing devices (i.e. things considerably more complex than a simple adding machines) generally preceded the creation of computers (as defined above); although as Michael Williams observed, "If you add enough adjectives to a description you can always claim [a particular machine to be the 'first']."
See also
Further reading
- William Aspray (editor), Computing Before Computers, Iowa State University Press, Ames, 1990
- Brian Randell (editor), The Origins of Digital Computers: Selected Papers, Springer-Verlag, Berlin, Heidelberg, New York, 1973, 1982 (3rd edition)
- Nicholas Metropolis, Jack Howlett, Gian-Carlo Rota (editors), A History of Computing in the Twentieth Century, Academic Press, New York, 1980
- Raúl Rojas, Ulf Hashagen (editors), The First Computers: History and Architectures, MIT Press, Cambridge, 2002