Résumé
En informatique et en logique, un système formel est dit complet au sens de Turing ou Turing-complet (par calque de l’anglais Turing-complete) s’il possède un pouvoir expressif au moins équivalent à celui des machines de Turing. Dans un tel système, il est donc possible de programmer n'importe quelle machine de Turing. Cette notion est rendue pertinente par la thèse de Church, qui postule l’existence d’une notion naturelle de calculabilité. Ainsi, le pouvoir expressif des machines de Turing coïncide avec celui des fonctions récursives, du lambda calcul, ou encore des machines à compteurs. Bien que certains modèles de calcul, appelés des hypercalculs, soient strictement plus expressifs que les machines de Turing, ces modèles sont des objets de spéculation (requérant par exemple d’effectuer une infinité d’opérations, ou de calculer sur l’ensemble des nombres réels) et l’on ignore s’ils sont physiquement réalisables. Dans ces conditions, la thèse de Church conjecture l’universalité du modèle de calcul des machines de Turing : tout système Turing-complet serait en fait équivalent aux machines de Turing. De même qu'un modèle de calcul, un langage informatique est dit Turing-complet s'il permet de représenter toutes les fonctions calculables au sens de Turing et Church (nonobstant la finitude de la mémoire des ordinateurs). Certains auteurs prennent cette propriété pour définition d’un langage de programmation, mais d'autres définitions peuvent être choisies. Les langages de programmation usuels (C, Java...) sont Turing-complets car ils possèdent tous les ingrédients nécessaires à la simulation d'une machine de Turing universelle (compter, comparer, lire, écrire, etc.). Le langage C++ est également Turing-complet, et le sous-ensemble permettant la programmation générique (templates) l'est aussi. Le langage SQL, à l'origine non complet au sens de Turing, l'est devenu avec la norme SQL:1999 lui permettant d'écrire des requêtes récursives. Le langage LaTeX (issus du TeX), destiné à la composition de documents, est également Turing-complet.
À propos de ce résultat
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.