এক্সপথে সূচকগুলি কেন 1 দিয়ে নয় এবং 0 দিয়ে শুরু হবে?


117

কিছু সহকর্মী ও আমি গত ভাষায় আমরা প্রোগ্রাম ছিল তুলনা করা হয় এবং সঙ্গে আমাদের অভিজ্ঞতা সম্পর্কে কথা বলা হয়েছে VB স্ক্রিপ্ট তার সঙ্গে বিজোড় যেমন বৈশিষ্ট্য 1 ভিত্তিক সূচক পরিবর্তে 0 ভিত্তিক সূচী প্রায় প্রতিটি অন্য ভাষা, যুক্তি হচ্ছে যে এটি একটি ছিল মতো ব্যবহারকারীদের জন্য ভাষা (যেমন এক্সেল ভিবিএ) বিকাশকারীদের ভাষার পরিবর্তে ভাষা।

তারপরে কেউ বলেছিলেন, " এক্সপ্যাথের 1-ভিত্তিক সূচকগুলিও রয়েছে " যা আমি এই নিবন্ধটি না পাওয়া পর্যন্ত বিশ্বাস করতে পারি না যেখানে মাইকেল কেয়ার নিজেই কিছু যুক্তিযুক্ত 0 ভিত্তিক পদ্ধতির পক্ষে অনেক কারণ দেওয়া হয়েছে :

  • "... এক-মাত্রিক অ্যারে অ্যাক্সেস এক্সপ্রেশন সহ বহু-মাত্রিক অ্যারে অ্যাক্সেস করার সময় শূন্য-ভিত্তিক সূচকগুলি সূচী সূত্রগুলি আরও সহজ করে তোলে"
  • "যখন টেবিলগুলি পরিচালনা করা হয় বা স্ট্রিতে সাবস্ক্রিপশন করা হয় তখন শূন্য-ভিত্তিক ঠিকানাটি প্রায়শই অনেক বেশি সুবিধাজনক হবে"
  • "... হার্ডওয়্যার অ্যাড্রেসিং 0-ভিত্তিক ঠিকানার একমাত্র সুবিধা নয় ... এটি গণনাও সহজ করে তোলে ..."

তবে তারপরে মাইকেল কে'র সমাপ্তি হিসাবে উদ্ধৃত করা হয়েছে:

... এক্স-পাথ এবং এক্সএসএলটি-র জন্য 1-ভিত্তিক যুক্তিটি সঠিক পছন্দ ছিল ... কারণ ভাষাটি প্রোগ্রামারদের জন্য নয়, ব্যবহারকারীদের জন্য তৈরি করা হয়েছিল এবং ব্যবহারকারীদের এখনও অধ্যায় হিসাবে একটি বইয়ের প্রথম অধ্যায়টি উল্লেখ করার এই পুরানো ধরণের অভ্যাস রয়েছে এক...

কেউ আমাকে তা ব্যাখ্যা করতে পারেন? (1) এক্সপ্যাথটি কীভাবে ব্যবহারকারীদের জন্য ডিজাইন করা হয়েছে? এক্সপ্যাথের সিনট্যাক্টিকাল অনমনীয়তা বা এক্সএসএলটির ঘোষণামূলক / ক্রিয়ামূলক-প্রোগ্রামিং-দিকগুলির সাথে জড়িত এমন বিকাশকারী কেউই আমি কল্পনা করতে পারি না। এবং (২) এক্সপথের নির্মাতারা কেন 1-ভিত্তিক সূচকটি বেছে নিয়ে আধুনিক প্রোগ্রামিং ভাষার আদর্শের বিরুদ্ধে গিয়েছিলেন?


7
একই নিবন্ধে মাইকেলকে নিম্নলিখিত শব্দগুলির সাথে উদ্ধৃতও করা হয়েছে: "সিদ্ধান্তের আসল ইতিহাস কী ছিল তা আমি আপনাকে বলতে পারি না; আমি কেবল এটি পরবর্তী-পরে যৌক্তিকতা দিতে পারি"। এমনকি যদি তিনি না জানেন তবে সম্ভবত কোনও সন্তোষজনক উত্তর নেই।
ডার্ক ভোলমার

5
আমি এই প্রশ্নটিকে বিষয়গত এবং যুক্তিযুক্ত হিসাবে বন্ধ করার পক্ষে ভোট দিয়েছি। 0-ভিত্তিক সূচীকরণ কোনওভাবেই 1-ভিত্তিক সূচকের চেয়ে ভাল নয় এবং বিপরীতটিও সত্য: 1-ভিত্তিক সূচীকরণ কোনওভাবেই 0-ভিত্তিক সূচকের চেয়ে ভাল নয়। উভয়ই প্লাস এবং বিয়োগ রয়েছে। অ-প্রোগ্রামারদের জন্য 1-ভিত্তিক সূচিকরণটি আরও প্রাকৃতিক। এটি কোনও nঅপ্রাকৃত নয় এবং প্রায়শই ত্রুটির দিকে পরিচালিত করে এমন কোনও পরিসরের উপরের সীমানা নির্দিষ্ট করার অনুমতি দেয় n - 1। "আধুনিক প্রোগ্রামিং" যুক্তির কারণে বিকৃত ব্যক্তিদের জন্য, 1-ভিত্তিক
সূচকগুলি

3
এই Stackoverflow প্রশ্ন শো উত্তরগুলি 0 ভিত্তিক সূচী অনেক কারণ জন্য পছন্দ করা হয়: stackoverflow.com/questions/393462/defend-zero-based-arrays
এডওয়ার্ড Tanguay

9
আমার প্রশ্নটি আসলে একটি আসল প্রশ্ন, কারণ আমি প্রোগ্রামিং শিখি এবং এক্সপ্যাথ সূচকগুলি যদি আসে সে ক্ষেত্রে এই প্রশ্নের উত্তর পেতে চাই। আমি মনে করি এর সেরা উত্তরটি হ'ল একটি 1-ভিত্তিক সূচক মানচিত্রের অবস্থান () যা এক্সপ্যাথে প্রচুর ব্যবহৃত হয়।
এডওয়ার্ড টাঙ্গুয়ে

64
আমি মনে করি এটি একটি আইনী প্রশ্ন এবং এটি বন্ধ করা উচিত হয়নি। এটি এমন একটি historicalতিহাসিক সত্য জানতে চায় যা মতামতের বিষয় নয় এবং উত্তরটি আলোকিত হবে।
বেন ফ্লিন

উত্তর:


30

অ্যারে এবং অন্যান্য সংগ্রহ সূচীগুলি মেমরি অফসেটগুলি উপস্থাপন করে, তাই যুক্তিযুক্তভাবে এগুলি শূন্য থেকে শুরু হয়। এক্সএমএল এবং এক্সপ্যাথ সূচকগুলি অবস্থান এবং সংখ্যাগুলি উপস্থাপন করে, তাই যুক্তিযুক্তভাবে তারা এক থেকে শুরু করে (এবং শূন্য সুতরাং "খালি" প্রতিনিধিত্ব করে)


8

এই প্রশ্নের উত্তর দেওয়ার জন্য আমাদের কয়েকটি প্রযুক্তির ইতিহাস পরীক্ষা করতে হবে।

আরএসএস এক্সএমএল এক্সএসএলটি এবং এক্সপাথের ইতিহাস

আরএসএসের 0.9 সংস্করণটি মূলত 1999 সালে নেটস্কেপের my.netscape.com পোর্টালের জন্য নেটস্কেপে কয়েকজন লোক দ্বারা আরডিএফ সাইট সংক্ষিপ্তকরণ হিসাবে প্রকাশিত হয়েছিল। সেই বছরের পরে, এটির নামকরণ করা হয়েছিল আরএসএস (রিচ সাইট সংক্ষিপ্তকরণ) এর সাথে ভি0.91 আপডেট। প্রকল্পের বিকাশ বেশ কয়েকবার হাত বদলেছে, তবে আরএসএস সংস্করণ 1.0 ডেস্কের 2000 সালের মধ্যে প্রকাশিত হয়েছিল। ভি 1.0 আপডেটের সাথে আরএসএস এক্সএমএল সমর্থন সমর্থন করে।

২০০২ এর সময় v2.0 সেপ্টেম্বরে আরএসএস হিসাবে প্রকাশিত হয়েছিল (সত্যই সরল সিন্ডিকেশন) এবং একটি বড় ইন্টারনেট প্রযুক্তিতে বিকশিত হতে শুরু করে। এর প্রাথমিক ইতিহাসে, আরএসএস ফিডগুলি (এবং তাদের থাকা XML ডেটা) কাঁচা ফর্ম্যাটে লোকেরা পড়েছিল। অবিচ্ছিন্নভাবে আপডেট হওয়া তথ্য আউটপুট করতে ব্লগ এবং অন্যান্য সংবাদ উত্স আরএসএস ফিড এবং এক্সএমএল ব্যবহার করে। এক্সএমএল যেহেতু নিখুঁত নশ্বর (প্রোগ্রামারহীন) দ্বারা পড়ছিল, এক্সপথ এবং এক্সএসএলটি সহজেই বোধগম্য হওয়া দরকার, যাতে এই নিখুঁত নশ্বরেরা এর সাথে যোগাযোগের সময় জটিলতায় ডুবে না যায়। এ কারণেই এক্সপাথ ইউআরআইয়ের স্টাইলটিকে নকল করে, যা এমন ব্যবহারকারী যা ইতিমধ্যে ব্যবহারকারীরা ইতিমধ্যে পরিচিত ছিলেন। ব্যবহারকারীদের দ্বারা পঠনযোগ্যতার লক্ষ্যে যে ছাড় দেওয়া হয়েছিল তার মধ্যে একটি ছিল 0-ভিত্তিক সূচীর পরিবর্তে 1-ভিত্তিক সূচকগুলি পুরানো ধাঁচের নম্বর পদ্ধতি ব্যবহার করা।

যদিও আরএসএস ফিড এবং এক্সএমএল বেশিরভাগ লোকের জন্য পঠনযোগ্য হিসাবে তৈরি করা হয়েছিল, আরএসএস পাঠকরা আরএসএস ফিডগুলি পড়ার জন্য আরও মনোরম ইন্টারফেস সরবরাহ করার জন্য তৈরি হয়েছিল। এখন, কাঁচা আরএসএস এবং এক্সএমএল ডেটা প্রায় একচেটিয়াভাবে পাঠক বা গ্রাফিকাল ইন্টারফেসের সাথে পড়া হয়। এক্সএমএল এখনও ওয়েব জুড়ে ঘন ঘন (সম্ভবত স্থায়ী) ব্যবহারে রয়েছে, তবে শেষ ব্যবহারকারীদের জন্য আরও ভাল অভিজ্ঞতা সরবরাহ করার জন্য এটি অভিনব গ্রাফিকাল ব্যবহারকারী ইন্টারফেস দ্বারা মুখোশযুক্ত।

* " নিছক নশ্বর " শব্দটি এমন মানুষকে বোঝায় যারা প্রগ্রেমার নয়


5
আরএসএসের সাথে এর অনেক কিছু করার বিষয়ে আমি নিশ্চিত নই। উদাহরণস্বরূপ, এপ্রিল 1999 এ এই এক্সএসএল স্পেসিফিকেশনে (যা পরে এক্সপথ এবং অন্যদের মধ্যে পৃথক হয়ে গেছে ) "পজিশন () ফাংশন প্রসঙ্গ নোডের তালিকায় প্রসঙ্গ নোডের অবস্থান ফিরিয়ে দেয় first প্রথম অবস্থানটি 1 এবং তাই শেষ অবস্থান শেষের সমান হবে ()। ১৯ April৯ সালের এপ্রিল পর্যন্ত আরডিএফ ব্যবহার করে কোনও "নিখুঁত নশ্বর" কী ছিল?
ম্যাট গিবসন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.