Apri il menu principale

Turing tarpit

linguaggio di programmazione Turing equivalente ma estremamente sconveniente per applicazioni pratiche

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.[1] Tale espressione è stata introdotta nel 1982 Alan Perlis in Epigrams on Programming:[2]

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

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

NoteModifica

  1. ^ Turing Tarpit, su c2.com, 10 marzo 2010. URL consultato il 7 novembre 2012.
  2. ^ A Perlis, Epigrams on Programming, in ACM SIGPLAN Notices (Yale University), vol. 17, nº 9, September 1982, pp. 7–13, DOI:10.1145/947955.1083808. URL consultato il 28 agosto 2015 (archiviato dall'url originale il 26 marzo 1996).
  3. ^ Exploring the depths of a Turing tarpit, su practicingruby.com, 7 febbraio 2013 (archiviato dall'url originale il 4 febbraio 2012).
  4. ^ V Chandra, Geek Sublime: The Beauty of Code, the Code of Beauty, Graywolf Press, 2014, ISBN 978-1-55597-326-1. URL consultato il 28 agosto 2015.
  5. ^ Esoteric Topics in Computer Programming, Cat's Eye Technologies, Canada.

BibliografiaModifica

Voci correlateModifica

  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica