ट्यूरिंग टारपिट

ट्यूरिंग टारपिट (या ट्यूरिंग टार-पिट) कोई भी प्रोग्रामिंग लैंग्वेज या कंप्यूटर इंटरफ़ेस है जो फ़ंक्शन में फ्लेक्सिबिलिटी की अनुमति देता है किंतु सीखना तथा उपयोग करना कठिन है क्योंकि यह सामान्य कार्यों के लिए बहुत कम या कोई समर्थन प्रदान नहीं करता है। यह वाक्यांश वर्ष 1982 में एलन पर्लिस द्वारा एपिग्राम्स ऑन प्रोग्रामिंग में गढ़ा गया था:

"54. ट्यूरिंग टार-पिट से सावधान रहें जिसमें सब कुछ संभव है किंतु कुछ भी आसान नहीं है।"

किसी भी ट्यूरिंग कम्पलीट लैंग्वेज में, किसी भी कंप्यूटर प्रोग्राम को लिखना संभव है, इसलिए अत्यधिक कठोर अर्थ में लगभग सभी प्रोग्रामिंग लैंग्वेज समान रूप से सक्षम हैं। हालाँकि, उस सैद्धांतिक क्षमता का होना प्रैक्टिस में उपयोगिता के समान नहीं है। ट्यूरिंग टारपिट की विशेषता यह है कि इसमें एक सरल एब्सट्रैक्ट मशीन होती है, जिसके लिए यूजर को किसी समस्या के हल में अनेक विवरणों से निवृत्त होने की आवश्यकता होती है। इसके ठीक विपरीत ऐसे इंटरफ़ेस हैं जो थोड़े से मानवीय हस्तक्षेप (ह्यूमन इंटरवेंशन) के साथ अत्यधिक जटिल कार्य कर सकते हैं किंतु यदि आवश्यकताओं में न्यूनतम परिवर्तन होता है तो वे अप्रयुक्त हो जाते हैं।

कुछ एसोटेरिक प्रोग्रामिंग लैंग्वेज जैसे ब्रेनफक या मालबोल्जे, को विशेष रूप से "ट्यूरिंग टारपिट्स" के रूप में जाना जाता है क्योंकि वे डेलीबेरेटली ट्यूरिंग पूर्ण लैंग्वेज के रूप में वर्गीकृत होने के लिए आवश्यक न्यूनतम फंक्शनैलिटी को प्रयुक्त करते हैं। ऐसी भाषाओं का उपयोग करनामैथमेटिकल रिक्रिएशन का एक रूप है: प्रोग्रामर यह ज्ञात कर सकते हैं कि अत्यधिक जटिल किंतु गणितीय रूप से ट्यूरिंग-समतुल्य भाषा में बेसिक प्रोग्रामिंग कंस्ट्रक्ट्स कैसे प्राप्त किया जाए।

यह भी देखें

 * ग्रीनस्पून का दसवाँ नियम
 * राइट ओनली लैंग्वेज
 * ज़विंस्की का सॉफ्टवेयर आवरण का नियम

अग्रिम पठन

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


 * E.L. Hutchins, J.D. Hollan, D.A. Norman, . Also found in


 * Esolangs, Turing Tarpit.