Turing tarpit
# Turing tarpit

Une Turing tarpit (traduction littérale, fosse de goudron de Turing) est un langage de programmation ou une interface utilisateur qui permet une certaine flexibilité dans ses fonctions, mais qui est difficile à apprendre et à utiliser parce qu'il offre peu ou pas de support pour les tâches courantes. L'expression a été inventée en 1982 par Alan Perlis dans les Epigrams on Programming :

       « Méfiez-vous de la fosse de goudron de Turing dans lequel tout est possible, mais rien d'intéressant n'est facile. »

Dans tout langage Turing-complet, il est possible d'écrire n'importe quel programme informatique, de sorte que, dans un sens très rigoureux, presque tous les langages de programmation ont des capacités équivalentes. Montrant que la capacité théorique n'est pas la même chose que la facilité d'utilisation dans la pratique, les Turing tarpits se caractérisent par une machine abstraite simple qui exige de l'utilisateur qu'il s'occupe de nombreux détails dans la résolution d'un problème. À l'extrême opposé, on trouve des interfaces qui peuvent effectuer des tâches très complexes avec peu d'intervention humaine, mais qui deviennent obsolètes si les exigences changent légèrement.

Certains langages de programmation exotiques, comme Brainfuck, sont spécifiquement appelés Turing tarpits parce qu'ils implémentent délibérément la fonctionnalité minimale nécessaire pour être classés comme langages Turing-complet. L'utilisation de tels langages est une forme de jeu mathématique : les programmeurs doivent trouver comment réaliser des constructions de programmation de base dans un langage extrêmement difficile, mais mathématiquement équivalent à celui de Turing.

