Turing tarpit
# Turing tarpit

Un Turing tarpit (o Turing tar-pit) è un linguaggio di programmazione o un'interfaccia che in principio offre ampie potenzialità in termini di funzionalità, ma in pratica non offre nessun supporto pratico per l'esecuzione di attività comuni. Tale espressione è stata introdotta nel 1982 Alan Perlis in Epigrams on Programming:

«54. Beware of the Turing tar-pit in which everything is possible but nothing of interest is easy.»

Qualsiasi linguaggio Turing equivalente può implementare qualsiasi programma calcolabile da una macchina di Turing, per cui in teoria tutti tali linguaggi (che includono praticamente tutti i linguaggi di uso pratico) hanno la potenzialità di poter risolvere gli stessi problemi in questa categoria. Questo tuttavia non significa che in pratica tutti i linguaggi siano convenienti da usare allo stesso modo, e i Turing tarpit si caratterizzano per il fatto di offrire una macchina astratta molto semplice, delegando al programmatore la gestione di molti dettagli necessari per la soluzione di un problema.

Alcuni linguaggi di programmazione esoterici, ad esempio Brainfuck, sono comunemente etichettati come Turing tarpit perché implementano deliberatamente solo le funzionalità minime per renderli Turing equivalenti. Tali linguaggi sono usati principalmente a scopo ricreativo.

