क्या शर्तों को पूरा करते या कि एक्स बताने के लिए या Y है आवश्यक बुनियादी विशेषताएं हैं (या नहीं) एक प्रोग्रामिंग भाषा?
मार्सेलो Cantos जैसा कि पहले ही कहा था कि यह कुछ हद तक अस्पष्ट है, विशेष रूप से के बाद से वहाँ डोमेन विशिष्ट भाषाओं (DSLs; http://en.wikipedia.org/wiki/Domain-specific_language) हैं कि पूरा ट्यूरिंग नहीं कर रहे हैं, लेकिन यह भी अक्सर माना जाता प्रोग्रामिंग भाषाओं।
और मैं कैसे निर्धारित करूं कि ट्यूरिंग पूरी हो रही है या नहीं? क्या कोई विशिष्ट मानदंड है?
एक तरीका यह निर्धारित करता है कि एक प्रोग्रामिंग भाषा पूरी तरह से ट्यूरिंग मशीन है (या लैम्ब्डा कैलकुस का कार्यान्वयन) लिखना है।
एक और तरीका साबित करना है कि सभी एमयू-रिकर्सिव फ़ंक्शन http://en.wikipedia.org/wiki/%CE%9C-recursive_function प्रोग्रामिंग भाषा द्वारा गणना की जा सकती है।
चूंकि यह साबित किया जा सकता है कि एक अनिवार्य प्रोग्रामिंग भाषा पूर्ण हो रही है, यदि कोई वैरिएबल असाइनमेंट है, तो संख्या 0 का प्रतिनिधित्व करने का एक तरीका, एक उत्तराधिकारी कार्य, एक पूर्ववर्ती कार्य और समय-समय पर प्रतिनिधित्व करने की संभावना यह है कि यह एक और है मार्ग।
एक कभी-कभी उपयोग किया जाने वाला तरीका (स्पष्ट कारणों पर हमेशा काम नहीं करता है) यह साबित करने के लिए कि एक प्रोग्रामिंग भाषा ट्यूरिंग-पूर्ण नहीं है यह जांचना है कि सभी प्रोग्राम समाप्त हो गए हैं या नहीं; यदि हां, तो यह नहीं हो सकता है।
एक कार्यात्मक कार्यक्रम कुछ भी गणना नहीं करता है; यह बताता है कि परिणाम क्या होना चाहिए। प्रोलॉग जैसे तर्क प्रोग्रामिंग भाषाओं के लिए भी यही है। एक भाषा सिद्धांत परिप्रेक्ष्य से, प्रोग्रामिंग भाषा के लिए एकमात्र आवश्यकता यह है कि इसके लिए एक स्पष्ट व्याकरण मौजूद है, इसलिए किसी वैध अनुक्रम के लिए एक एकल वाक्य रचनात्मक संरचना है। कहा गया संरचना का अर्थ दुभाषिया या अनुवादक तक है; एक सुंदर प्रिंटर, एक मीट्रिक विश्लेषक, और एक कंपाइलर, एक ही _program_ के लिए अलग-अलग अर्थ देते हैं (एक सुंदर प्रिंटर मेल नहीं खाते और संचालन, f.i.) की परवाह नहीं करता है। – Apalala
टीसीपी प्रोटोकॉल एक प्रोग्रामिंग भाषा है। – Apalala