प्रोग्रामिंग भाषाओं को केस-संवेदी होना चाहिए, अवधि। लोग इसे बहुत आसानी से समायोजित कर सकते हैं: उन्हें बस ज्यादातर निचले मामलों में काम करने के लिए याद रखना पड़ता है, और मौजूदा एपीआई में मिश्रित-केस या ऑल-कैप पहचानकर्ताओं के लिए देखना है।
एक बार भाषाओं को असंवेदनशील बनाना स्पष्ट लग रहा था। ऐसा इसलिए है क्योंकि सभी कंप्यूटिंग सिस्टम और उनके I / O डिवाइस (कीबोर्ड, प्रिंटर और डिस्प्ले डिवाइस) पर लोअर केस उपलब्ध नहीं था। प्रोग्रामिंग भाषा कार्यान्वयन को ऊपरी मामले में लिखे गए कार्यक्रमों को स्वीकार करना पड़ा, क्योंकि केवल वही प्रदर्शित या मुद्रित किया जा सकता था। और इसके लिए उन्हें केस असंवेदनशील होना चाहिए, क्योंकि ऊपरी मामले को स्वीकार करना और एक ही समय में संवेदनशील होने का मतलब है निचले मामले को खारिज करना। लोअर केस कुछ प्रोग्रामर चाहते थे, लेकिन हमेशा नहीं हो सकते थे। कोई भी वास्तव में उन कार्यक्रमों के साथ काम नहीं करना चाहता था जो ऊपरी मामले में चिल्लाए थे; यह सिर्फ एक हार्डवेयर सीमा थी।
थोड़ी देर के लिए, टर्मिनलों में केस फोल्डिंग करना भी आम था। यदि एक टर्मिनल केवल ऊपरी मामले को प्रदर्शित कर सकता है, लेकिन आपको ऊपरी और निचले मामले का समर्थन करने वाले कंप्यूटिंग सिस्टम में प्रवेश करना होगा, तो टर्मिनल निचले मामले को ऊपरी मामले में बदल देगा। सोचिये ये बहुत पहले की बात है? "Apple II की तरह, Apple II Plus की कोई लोअरकेस कार्यक्षमता नहीं थी।" (http://en.wikipedia.org/wiki/Apple_II_Plus) जब शुरुआती Apple कंप्यूटर के उपयोगकर्ताओं ने एक BBS में डायल किया, जिसमें मिश्रित-केस सामग्री थी, तो टर्मिनल एमुलेटर (या होस्ट) को उस सभी ऊपरी मामले को मोड़ना था। उन दिनों बुलेटिन बोर्डों पर सभी कैप्स में लिखे संदेश आम थे। यह कार्यक्षमता अभी भी यूनिक्स की तरह ऑपरेटिंग सिस्टम में लिनक्स कर्नेल की तरह पाई जाती है। उदाहरण के लिए, stty olcuc
अपने शेल प्रॉम्प्ट पर टाइप करें ।Unix tty लाइन अनुशासन आउटपुट पर ऊपरी केस को मैप कर सकता है, और यह इनपुट पर लोअर केस को मैप कर सकता है। यह आपको एक कम केस प्रोग्रामिंग भाषा में काम करने की अनुमति देता है, एक ऐसे टर्मिनल पर, जिसका कोई निचला मामला नहीं है।
केस असंवेदनशीलता एक पुराने कंप्यूटर युग से एक पुरानी अवधारणा है जो अंतरराष्ट्रीय कम्प्यूटिंग की आधुनिक दुनिया में बहुत अच्छा काम नहीं करती है। क्या आप इसे अन्य भाषाओं में विस्तारित करते हैं? फ्रेंच के बारे में कैसे: क्या आप È और è को समान मानते हैं? या जापानी? क्या आप हीरागाना और कटकाना को केवल मामले मानते हैं, ताकि ag h イ ル और い る ag る समान पहचानकर्ता हों? ऐसे मूर्खतापूर्ण के लिए समर्थन आपके लेक्सिकल विश्लेषक को बहुत जटिल करेगा, जिसके पास पूरे यूनिकोड स्थान के लिए मामले के समतुल्य नक्शे होने चाहिए।
ध्यान दें कि गणित संवेदनशील है। उदाहरण के लिए, ऊपरी मामला सिग्मा योग को निरूपित कर सकता है, जबकि निचला मामला सिग्मा मानक विचलन की तरह कुछ और दर्शाता है। यह किसी भी कठिनाइयों का निर्माण किए बिना एक ही सूत्र में हो सकता है। (क्या प्रोग्रामिंग भाषा Σ और σ के बराबर होगी?)
अंग्रेजी ऑर्थोग्राफी संवेदनशील है। उदाहरण के लिए, कई उचित संज्ञाएं साधारण संज्ञा या भाषण के अन्य भागों से मेल खाती हैं। "हो सकता है" एक क्रिया है, लेकिन "मई" एक महीना है, या एक महिला का नाम है। इसके अलावा, अगर एक संक्षिप्त या संक्षिप्त नाम निचले मामले में लिखा जाता है, तो यह भ्रमित हो सकता है। सैट का अर्थ है स्कॉलैस्टिक एप्टीट्यूड टेस्ट। बुद्धिमान लोग विस्तार पर ध्यान देते हैं और ठीक से पूंजीकरण करते हैं।
मूल रूप से, 1985 के बाद से बनाई गई कोई भी नई प्रोग्रामिंग भाषा जो केस-असंवेदनशील है, जो एक ई-नाखून के बिना और उसके बाद की स्थिति के लिए है।
क्या होगा यदि आपकी भाषा को कभी भी किसी अन्य भाषा में कोड का अनुवाद करने के लिए एक कोड-पीढ़ी के लक्ष्य के रूप में उपयोग किया जाता है, और यह कि अन्य भाषा संवेदनशील है? भेद को पकड़ने के लिए आपको सभी नामों को बदलना होगा। (इसलिए यह सुनिश्चित करने के लिए कि यह एक तकनीकी निर्णय नहीं है, और केवल लक्षित दर्शकों की भावनात्मक प्राथमिकताओं का मामला, हास्यास्पद है।)
विंडोज में केस हैंडलिंग के कारण होने वाली कष्टप्रद समस्याओं को देखें, जब फाइलों को दूसरे ऑपरेटिंग सिस्टम से आयात किया जाता है। यह एक तकनीकी मुद्दा है। केस सेंसिटिव फाइल सिस्टम में विदेशी डेटा की समस्या होती है जो केस-असंवेदनशील नहीं होते हैं।
आम लिस्प ने आदर्श दृष्टिकोण पर प्रहार किया है: प्रतीक नाम मामले के प्रति संवेदनशील होते हैं, लेकिन जब टोकन पढ़े जाते हैं, तो वे ऊपरी मामले में बदल जाते हैं। इसका मतलब है कि टोकन foo
, fOO
, FOO
और Foo
सभी निरूपित एक ही प्रतीक: प्रतीक जिसका नाम चरित्र स्ट्रिंग के रूप में संग्रहीत किया जाता है "FOO"
। इसके अलावा, यह व्यवहार केवल डिफ़ॉल्ट रीड टेबल कॉन्फ़िगरेशन है। पाठक ऊपरी मामले में, निचले मामले में, मामले को पलटने या संरक्षित करने के लिए पत्रों को मोड़ सकता है। अंतिम दो विकल्प केस-संवेदी बोली को जन्म देते हैं। इस तरह, उपयोगकर्ताओं के पास अधिकतम लचीलापन है।