Turing tarpit

Un article de Wikipédia, l'encyclopédie libre.
(Redirigé depuis Turing tarpits)

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[1]. L'expression a été inventée en 1982 par Alan Perlis dans les Epigrams on Programming[2] :

« 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[3]. À 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[4] 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[5].

Références[modifier | modifier le code]

(en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « Turing tarpit » (voir la liste des auteurs).
  1. « Turing Tarpit », sur c2.com, (consulté le )
  2. A Perlis, « Epigrams on Programming », Yale University, vol. 17, no 9,‎ , p. 7–13 (DOI 10.1145/947955.1083808, S2CID 20512767)
  3. « Exploring the depths of a Turing tarpit » [archive du ], sur practicingruby.com,
  4. V Chandra, Geek Sublime: The Beauty of Code, the Code of Beauty, Graywolf Press, (ISBN 9781555973261, lire en ligne Inscription nécessaire) :

    « turing tarpit. »

  5. Esoteric Topics in Computer Programming, Cat's Eye Technologies, Canada. ("They present the programmer with the challenge, intrigue, and entertainment of looking at known algorithms and concepts in a whole new light.")