A Turing tarpit (or Turing tar-pit) is any programming language or computer interface that allows for flexibility in function but is difficult to learn and use because it offers little or no support for common tasks.[1] The phrase was coined in 1982 by Alan Perlis in the Epigrams on Programming:[2]
54. Beware of the Turing tar-pit in which everything is possible but nothing of interest is easy.
In any Turing complete language, it is possible to write any computer program, so in a very rigorous sense nearly all programming languages are equally capable. However, having that theoretical ability is not the same as usefulness in practice. Turing tarpits are characterized by having a simple abstract machine that requires the user to deal with many details in the solution of a problem.[3] At the extreme opposite are interfaces that can perform very complex tasks with little human intervention but become obsolete if requirements change slightly.
Some esoteric programming languages, such as Brainfuck or Malbolge, are specifically referred to as "Turing tarpits"[4] because they deliberately implement the minimum functionality necessary to be classified as Turing complete languages. Using such languages is a form of mathematical recreation: programmers can work out how to achieve basic programming constructs in an extremely difficult but mathematically Turing-equivalent language.[5]
^"Turing Tarpit". wiki.c2.com. 21 November 2014. Retrieved 30 April 2023.
^Perlis, A (September 1982). "Epigrams on Programming". ACM SIGPLAN Notices. 17 (9). Yale University: 7–13. doi:10.1145/947955.1083808. S2CID 20512767.
^"Exploring the depths of a Turing tarpit". practicingruby.com. 17 January 2012. Retrieved 30 April 2023.
^Chandra, V (2014). Geek Sublime: The Beauty of Code, the Code of Beauty. Graywolf Press. ISBN 9781555973261. Retrieved 28 August 2015. turing tarpit.
^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.")
A Turingtarpit (or Turing tar-pit) is any programming language or computer interface that allows for flexibility in function but is difficult to learn...
cellular automaton) is said to be Turing-complete or computationally universal if it can be used to simulate any Turing machine[citation needed] (devised...
information theory Turing machine examples Turing switch Turingtarpit, any computing system or language that, despite being Turing complete, is generally...
Notices 17(9), September 1982. In epigram #54, Perlis coined the term "Turingtarpit", which he defined as a programming language where "everything is possible...
programming languages, or Turingtarpits, esoteric programming languages designed to be as small as possible but still Turing-complete. Both systems use...
to it, yielding functionality similar to sed. List of Unix commands Turingtarpit In command line use, the quotes around the expression are not required...
examples of minimal Turingtarpits and needlessly obfuscated language features. Brainfuck is related to the P′′ family of Turing machines. While esoteric...
universality is proved only by simulation (e.g., many Turingtarpits, the smallest-known universal Turing machines, etc.). The proof is preceded by some interesting...
for Windows later this year... Loughry, Joseph ‘Joe’, "BANCStar", The TuringTarpit, Reo cities, archived from the original on 2011-07-25, retrieved 2010-05-16...