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

ट्यूरिंग टारपिट (या ट्यूरिंग टार-पिट) कोई भी प्रोग्रामिंग लैंग्वेज या कंप्यूटर इंटरफ़ेस है जो फ़ंक्शन में फ्लेक्सिबिलिटी की अनुमति देता है किंतु सीखना तथा उपयोग करना कठिन है क्योंकि यह सामान्य कार्यों के लिए बहुत कम या कोई समर्थन प्रदान नहीं करता है। यह वाक्यांश वर्ष 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.