Un tarpit de Turing (o Turing tar-pit ) es cualquier lenguaje de programación o interfaz de computadora que permite flexibilidad en la función pero es difícil de aprender y usar porque ofrece poco o ningún soporte para tareas comunes. [1] La frase fue acuñada en 1982 por Alan Perlis en los Epigramas sobre programación : [2]
54. Cuidado con el pozo de alquitrán de Turing en el que todo es posible pero nada de interés es fácil.
En cualquier lenguaje completo de Turing , es posible escribir cualquier programa de computadora, por lo que, en un sentido muy riguroso, casi todos los lenguajes de programación son igualmente capaces. Sin embargo, tener esa capacidad teórica no es lo mismo que utilidad en la práctica. Los tarpits de Turing se caracterizan por tener una máquina abstracta simple que requiere que el usuario se ocupe de muchos detalles en la solución de un problema. [3] En el extremo opuesto se encuentran las interfaces que pueden realizar tareas muy complejas con poca intervención humana pero que se vuelven obsoletas si los requisitos cambian ligeramente.
Algunos lenguajes de programación esotéricos , como Brainfuck o Malbolge , se denominan específicamente "tarpits de Turing" [4] porque implementan deliberadamente la funcionalidad mínima necesaria para ser clasificados como lenguajes completos de Turing. El uso de estos lenguajes es una forma de recreación matemática : los programadores pueden descubrir cómo lograr construcciones de programación básicas en un lenguaje extremadamente difícil pero matemáticamente equivalente a Turing. [5]
lona de turing.