3 ms·
Strictly speaking there are essentially no programming languages that are even theoretically Turing-complete because they can only address a bounded amount of m
by Sharlin 4y ago
Strictly speaking there are essentially no programming languages that are even theoretically Turing-complete because they can only address a bounded amount of memory. For example, in C `sizeof(void*)` must be a well-defined, finite integer. But that definition is not useful in practical use.
- charcircuit 4y agoThere are plenty of Turing complete languages. For example JavaScript is Turing complete.
- Sharlin 4y agoEven if that was true, any definition of Turing completeness that includes JavaScript and excludes C is worse than useless in practice. It's useless for communication, it's useless for education, it's useless for reasoning about capabilities. There's simply no place for such a definition in a civilized society.
- charcircuit 4y agoTuring machines themselves are a useless concept in our society. Since C is lower level and tied more to the physical hardware it makes sense that it is not Turing complete because Turing machines are not applicable to the real world. Computers do not work anything like an infinite tape. I've never seen a practical program have to implement a Turing machine.