Os idiomas completos que não são de Turing oferecem uma grande vantagem sobre os idiomas completos de Turing, pois são muito mais analisáveis e, portanto, oferecem possibilidades de otimização muito mais amplas. No entanto, eles são pouco utilizados e a integridade de Turing é realmente vendida como um bom recurso.
Existem linguagens mainstream não completas de Turing disponíveis hoje para a programação de uso geral?
programming-languages
turing-completeness
MaiaVictor
fonte
fonte
Respostas:
Atualmente, não existem idiomas completos de uso geral não-Turing para diversos fins. Existem, no entanto, vários idiomas específicos não específicos do domínio de Turing. ANSI SQL, expressões regulares, linguagens de dados (HTML, CSS, JSON, etc) e expressões s são alguns exemplos notáveis.
Não há realmente nenhum benefício para idiomas completos multiuso não-Turing. O aspecto "muito mais analisável", que suponho ser um aceno ao teorema de Rice, se aplica, mas não faz muito sentido para linguagens que visam vários domínios de aplicativos diferentes, outros requisitos têm precedência. A flexibilidade da integridade de Turing é muito mais importante que sua complexidade. Linguagens de programação, como qualquer outra peça de software, têm tudo a ver com trade-offs.
Para idiomas específicos de domínio, por outro lado, pode ser apenas o contrário. Se você não está construindo "um idioma para governar todos eles", pode implementar apenas os recursos que fazem sentido para o objetivo específico do seu idioma. E, na maioria das vezes, a integridade de Turing não é uma delas.
fonte
A razão pela qual os idiomas incompletos de Turing não são comuns é que é fácil implementar seus próprios sempre que você precisar e como quiser. Um exemplo interessante é o script bitcoin: https://github.com/bitcoin/bitcoin/blob/master/src/script.cpp
fonte