On DifferenceEngine, someone defined a computer as something that can "run stored programs that had conditional logic and iteration."
A different way to word that might be that a computer can:
- Run code
- Run code repeatedly (iteration)
- Not run code (conditionality)
Does anyone know of the source for this? Does anyone know why this is considered the definition? One can imagine being able to build higher-level things like functions from these three primitives. It might be interesting to see a more formal treatment of this definition.
If you're the kind of person who is attracted by the abstract and theotretical, a computer is often defined as an machine which can solve any problem solvable by a UniversalTuringMachine. This definition arose out of AlanTuring and AlonzoChurch 's formal definition of an Algorithm, and what kind of problems are Computable as opposed to notComputable.