Turing tarpit

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]

See also

References

  1. ^ "Turing Tarpit". wiki.c2.com. 21 November 2014. Retrieved 30 April 2023.
  2. ^ Perlis, A (September 1982). "Epigrams on Programming". ACM SIGPLAN Notices. 17 (9). Yale University: 7–13. doi:10.1145/947955.1083808. S2CID 20512767.
  3. ^ Wegner, Peter (May 1997). "Why Interaction Is More Powerful Than Algorithms". Communications of the ACM. 40 (5): 80–91.
  4. ^ Chandra, V (2014). Geek Sublime: The Beauty of Code, the Code of Beauty. Graywolf Press. ISBN 9781555973261. Retrieved 28 August 2015. turing tarpit.
  5. ^ 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.")

Further reading