I get what a Turing machine is and what language is a Turing-complete language but when someone introduces me to a new programming language (like Solidity) and says it is Turing complete, what am I supposed to infer? What is the most important feature/advantage of a Turing complete? Is being Turing complete also a type of standard/benchmark for new languages?
closed as off-topic by Emil Jeřábek, Hsien-Chih Chang 張顯之, D.W., Jan Johannsen, Aryeh Jul 18 '18 at 10:30
This question appears to be off-topic. The users who voted to close gave this specific reason:
- "Your question does not appear to be a research-level question in theoretical computer science. For more information about the scope, please see help center. Your question might be suitable for Computer Science which has a broader scope." – Emil Jeřábek, Hsien-Chih Chang 張顯之, D.W., Jan Johannsen, Aryeh
If a language is not Turing complete, there are computational problems it cannot solve. So, purely from a view internal to the language, you can't necessarily do everything you want. If you want to use a non-Turing complete language to design some kind of computer architecture, you'll also run into problems.
In order to express or simulate something that is Turing complete, your language needs to also be Turing complete. Python, C, and Java are all Turing Complete, so you can't write compilers for those languages in a language that isn't. The video games Minecraft and Dwarf fortress can simulate Turing machines, so you can't program those games in a language that isn't Turing complete. Powerpoint slide transitions are Turing complete, so you can't write Microsoft Office in a language that isn't Turing complete, or run it on a system that isn't Turing complete.
A programming language that isn't Turing complete isn't a "full programming language" in a sense, and someone who is telling you that a programming language is Turing complete is assuring you that this language can in fact do all of the things that the standard programming languages can.