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.
Perlis did not further explain the term or offer examples, leaving readers to speculate on his meaning. As a pioneer in programming language technology, he had participated in the specification of ALGOL, a language that provided a rich algorithmic syntax but no standard input/output facilities. Accordingly, Peter Wegner identified real-time interaction with an environment as an aspect of practical computing that traditional mathematical models like the Turing machine failed to address. [3]
The term has since become associated with esoteric programming languages that are intentionally designed to be universal but impractical. [4] 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.