CACrown ArchivesThe cinema collection
Menu
Research dossier · General Reference

Turing tarpit

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

Cross-disciplinary reference desk with index cards, atlas, dictionary and catalogue
General referenceInterpretive dossier study · Crown Archives visual atlas
Record originEnglish Wikipedia
Text licenseCC BY-SA 4.0
Source revisionMay 24, 2026
Entity authorityQ4467269
Source-derived summary

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. The phrase was coined in 1982 by Alan Perlis in the Epigrams on Programming:

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 his meaning open to interpretation. "Turing" has generally been understood to refer to the Church–Turing thesis, which holds that certain simple models of computation are sufficient to express any numerical calculation procedure, even though doing so in practice might be a daunting task.

As a pioneer in programming language technology, Perlis participated in the specification of ALGOL, a language that provided a rich procedural syntax but no standard input/output facilities. Accordingly, Peter Wegner identified real-time interaction with an environment as an aspect of practical computing that models like the Turing machine failed to address.

The term has since become associated with esoteric programming languages that are intentionally designed to be universal but impractical. 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.

See also

Greenspun's tenth rule

Zawinski's law of software envelopment

References

Further reading

G. Fischer, A.C. Lemke, "Constrained Design Processes: Steps Toward Convivial Computing", Technical Report CU-CS-369-87, University of Colorado, USA.

E.L. Hutchins, J.D. Hollan, D.A. Norman, Hutchins, Edwin L.; Hollan, James D.; Norman, Donald A. (1 December 1985).

Editorial summary

The public source identifies “Turing tarpit” as 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. This brief keeps that definition visible, then builds a research path around Turing, tarpit and programming.

Editorial reviewA dependable orientation record for establishing vocabulary, names and a first evidence trail. The current lead gives the account dated anchors—1982, 1985—that can be checked directly. The selected authority fields contribute no independent date. Its value is orientation rather than verdict, with Turing, tarpit and programming providing the first useful test.
Editorial analysis

Why this record matters

A short description can identify a subject without explaining its stakes. For “Turing tarpit”, the useful work is to connect “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” to the records capable of establishing context and consequence.

Evidence profile

Named sources, stable identifiers and responsible institutions provide the strongest route from overview to verifiable evidence. The source revision retrieved here is dated May 24, 2026. The linked authority identifier is Q4467269. None of the 0 selected statements returned an explicit reference. The first chronological checks are 1982 and 1985.

Critical limits

A concise general-reference account can conceal disagreements about scope, terminology or the weight assigned to individual sources. The source lead contains qualifying language; that uncertainty should survive quotation, summary and reuse. Authority statements aid reconciliation but still require their own references, qualifiers and ranks to be checked.

How to read it

Use the entry as an orientation point, then follow its citations and revision history. Names, dates and institutional relationships should be checked against the original record.

Best used for
  • Subject orientation
  • Search vocabulary
  • Locating named sources
Verify next

The closest primary source, responsible institution and strongest cited specialist reference.

Three-step research path

  1. Establish the record: confirm the title “Turing tarpit”, its source revision and the description used here.
  2. Expand the search: follow Turing tarpit primary sources, Turing tarpit archive and Turing research across catalogues and specialist indexes.
  3. Test the account: compare the strongest cited source with the responsible institution’s current record and note any disagreement.

Questions for further research

  1. Which source most directly establishes the central claim about “Turing tarpit”?
  2. Which institution is responsible for the underlying evidence?
  3. What terminology or title could unlock a more precise catalogue search?
Subject index

Search terms from this dossier

Source & attribution

This entry incorporates text from Turing tarpit” on English Wikipedia. Contributors are listed in the page history. Text is available under the Creative Commons Attribution-ShareAlike 4.0 License. Selected authority identifiers and statements are retrieved from Wikidata under CC0; their references and qualifiers remain part of the verification path.