कुछ सहयोगियों और मैं पिछले भाषाओं हम में प्रोग्राम था की तुलना कर रहे थे और साथ हमारे अनुभव के बारे में बात कर रहे थे VBScript इसके साथ अजीब तरह के रूप में सुविधाओं 1 आधारित सूचकांक के बजाय 0-आधारित अनुक्रमित लगभग प्रत्येक भाषा, तर्क किया जा रहा है कि यह एक था है की तरह डेवलपर्स के लिए भाषा के बजाय उपयोगकर्ताओं के लिए भाषा (जैसे एक्सेल VBA)।
फिर किसी ने कहा, " XPath में भी 1-आधारित इंडेक्स है " जो कि मुझे विश्वास नहीं हो रहा था जब तक कि मुझे यह लेख नहीं मिला जिसमें 0-आधारित दृष्टिकोण के पक्ष में कई कारण दिए गए हैं , जिनमें से कुछ स्वयं माइकल के से हैं:
- "... शून्य-आधारित अनुक्रमणिका एक-आयामी सरणी पहुंच अभिव्यक्ति के साथ बहुआयामी सरणी तक पहुँचने पर सूचकांक फ़ार्मुलों को सरल बनाने का प्रयास करती है"
- "जब तालिकाओं को संभालना, या तार में सब्स्क्राइब करना, शून्य-आधारित संबोधन अक्सर बहुत अधिक सुविधाजनक होगा"
- "... हार्डवेयर एड्रेसिंग 0-आधारित एड्रेसिंग का एकमात्र लाभ नहीं है ... यह कम्प्यूटेशन को आसान बनाता है ..."
लेकिन तब माइकल Kay निष्कर्ष के रूप में उद्धृत किया गया है:
... 1-आधारित तर्क XPath और XSLT के लिए सही विकल्प था ... क्योंकि भाषा उपयोगकर्ताओं के लिए डिज़ाइन की गई थी, प्रोग्रामर के लिए नहीं, और उपयोगकर्ताओं के पास अभी भी एक अध्याय के रूप में एक पुस्तक में पहले अध्याय का जिक्र करने की यह पुराने जमाने की आदत है। एक...
क्या कोई मुझे समझा सकता है? (1) XPath उपयोगकर्ताओं के लिए कैसे बनाया गया है? मैं ऐसे किसी व्यक्ति की कल्पना नहीं कर सकता, जो XPath की क्रमिक कठोरता या XSLT की घोषणात्मक / कार्यात्मक-प्रोग्रामिंग-पहलुओं से जूझने वाला कोई डेवलपर नहीं है। और (2) वास्तव में XPath के रचनाकारों ने 1-आधारित सूचकांक का चयन करके आधुनिक प्रोग्रामिंग भाषाओं के आदर्श के खिलाफ क्यों चले गए?
n
, न कि बहुत अप्राकृतिक और अक्सर त्रुटियों के लिए अग्रणी n - 1
। "आधुनिक प्रोग्रामिंग" तर्क के कारण विकृत लोगों के लिए, 1-आधारित अनुक्रमण का उपयोग करना शुरू करना एक सुखद और ताज़ा अनुभव होगा :)