ATuringtarpit (orTuring tar-pit) is anyprogramming language orcomputer 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 byAlan Perlis in theEpigrams on Programming:[2]
54. Beware of the Turing tar-pit in which everything is possible but nothing of interest is easy.
In anyTuring 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 simpleabstract 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.
Someesoteric programming languages, such asBrainfuck orMalbolge, 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 ofmathematical recreation: programmers can work out how to achieve basic programming constructs in an extremely difficult but mathematically Turing-equivalent language.[5]
turing tarpit.