|
|
|
|
|
by tikhonj
4853 days ago
|
|
Turing-completeness is a red herring. All it talks about is what a machine can compute, not how. This is an important distinction because libraries can be used for things like meta-programming. It's completely possible to have a Turing-complete method of computation that does not allow the equivalent of self-modification, for example. And then you won't be able to write a library for self-modifying code! You can't retrofit Java with a macro system without writing a preprocessor, for example. So it is impossible to have a whole bunch of useful constructs in a library. Essentially, as soon as you consider "self-reference"--that is, programs that depend on details of the machine itself--Turing-completeness stops mattering. And this is still important; programmers care about more than just what the program does, after all! |
|
No, as a matter of fact, it's the point. A Turing-complete system can compute anything that any other Turing-complete system can.
> It's completely possible to have a Turing-complete method of computation that does not allow the equivalent of self-modification ...
Speaking of red herrings?