Difference between revisions of "Computing device"

From Computer History Wiki
Jump to: navigation, search
m (External links: +How to Make Zuse's Z3 a Universal Computer)
(Split out 'computer' definition)
 
Line 1: Line 1:
'''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 [[program]] (which, it must be emphasized, is a specified series of elementary steps, stored in the device in some form, 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-board]]s of the [[ENIAC]]) - is stored in [[memory]] that the computer can modify, allowing the program to change itself if it desires).
+
'''Computing devices''' (not a standard term in the field) are a class of devices which could perform complicated calculations, but are not [[computer]]s (i.e. 'stored-program computing devices'); instead, they are members of a more general class. I.e. all devices which can perform complex calculations, but are not 'computers', fall in this class. (A good example is the [[Atanasoff-Berry Computer]], which was hard-wired to only be able to solve systems of simultaneous equations.)
  
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 system]]s usually use [[read-only memory|ROM]] for their program storage. On the other hand, program modifiability is a key aspect of classical [[Turing machine]]s; but it might be possible for a machine running out of ROM to [[emulator|emulate]] a Turing machine, thereby making such a machine a Turing machine. It is also possible that having the ability to do [[conditional branch]]es could be an alternative to being able to modify the program, for [[Turing complete]]ness.
+
Complex computing devices (i.e. things considerably more complex than a simple adding machines) generally preceded the creation of computers. Note that the operation of these devices often did proceed through a list of more basic operations (the definition of a [[program]]) - e.g. the operations controlled by the timing cams in [[Charles Babbage‎‎]]'s [[Difference Engine]]. However, true computers are designed so that they can be easily changed to run ''any'' program.
 
 
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==
 
==See also==
Line 14: Line 12:
 
* William Aspray (editor), [https://ed-thelen.org/comp-hist/CBC.html ''Computing Before Computers''], Iowa State University Press, Ames, 1990
 
* William Aspray (editor), [https://ed-thelen.org/comp-hist/CBC.html ''Computing Before Computers''], Iowa State University Press, Ames, 1990
 
* Brian Randell (editor), [https://link.springer.com/book/10.1007/978-3-642-96145-8 ''The Origins of Digital Computers: Selected Papers''], Springer-Verlag, Berlin, Heidelberg, New York, 1973, 1982 (3rd edition)
 
* Brian Randell (editor), [https://link.springer.com/book/10.1007/978-3-642-96145-8 ''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), [https://www.sciencedirect.com/book/9780124916500/a-history-of-computing-in-the-twentieth-century ''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
 
 
==External links==
 
  
* [https://www.gleech.org/first-computers Disambiguating the first computer]
+
<!-- ==External links== -->
* [http://www.inf.fu-berlin.de/inst/ag-ki/rojas_home/documents/1997/Universal_Computer.pdf How to Make Zuse's Z3 a Universal Computer] - it tuns out one doesn't even need conditional branching to have a UTM
 
  
 
[[Category: Early Computing Devices]]
 
[[Category: Early Computing Devices]]

Latest revision as of 14:22, 7 December 2023

Computing devices (not a standard term in the field) are a class of devices which could perform complicated calculations, but are not computers (i.e. 'stored-program computing devices'); instead, they are members of a more general class. I.e. all devices which can perform complex calculations, but are not 'computers', fall in this class. (A good example is the Atanasoff-Berry Computer, which was hard-wired to only be able to solve systems of simultaneous equations.)

Complex computing devices (i.e. things considerably more complex than a simple adding machines) generally preceded the creation of computers. Note that the operation of these devices often did proceed through a list of more basic operations (the definition of a program) - e.g. the operations controlled by the timing cams in Charles Babbage‎‎'s Difference Engine. However, true computers are designed so that they can be easily changed to run any program.

See also

Further reading