Un tarpit de Turing (o pozo de alquitrán de Turing ) es cualquier lenguaje de programación o interfaz de computadora que permite flexibilidad en su funcionamiento 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 interesante es fácil.
En cualquier lenguaje completo de Turing es posible escribir cualquier programa informático, 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 la 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 están 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 conocen específicamente como "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]
turing tarpit.