Turing tarpit

From Wikipedia, the free encyclopedia
Jump to: navigation, search

A Turing tarpit 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. The phrase was coined by Alan Perlis in the epigram

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. Turing tarpits show that theoretical ability is not the same as usefulness in practice.

Turing tarpits are characterized by having a simple abstract machine which requires the user to deal with many details in the solution of a problem. At the extreme opposite are interfaces which can perform very complex tasks with little human intervention but become obsolete if requirements change slightly.

Some esoteric programming languages, such as brainfuck, are specifically referred to as "Turing tarpits", meaning they purposely implement a minimum of functionalities to be classified as a Turing complete language. Such languages are a form of mathematical recreation, in which programmers work out how to achieve basic programming constructs in an extremely difficult but mathematically Turing-equivalent language.

[edit] See also

[edit] References

  1. ^ Epigrams on Programming, SIGPLAN Notices Vol. 17, No. 9, September 1982, pages 7–13.
Personal tools
Namespaces

Variants
Actions
Navigation
Interaction
Toolbox
Print/export
Languages