অ্যারে উপাদানগুলির জন্য বর্গাকার বন্ধনী ব্যবহারের রীতিটি কীভাবে বিকশিত হয়েছিল?


11

অনেক প্রোগ্রামিং ল্যাঙ্গুয়েজ একটি অ্যারে, সিকোয়েন্স, বা ভেক্টরের 'তম উপাদানটি a[i]উল্লেখ করতে সিনট্যাক্স ব্যবহার করে - বিশেষত সি এবং পাস্কাল (১৯60০ দশকের শেষভাগ এবং ১৯ 1970০ দশকের গোড়ার দিকে) এটি করে। অন্যদিকে, পূর্ববর্তী কয়েকটি ভাষাগুলি যেমন ফোর্ত্রান (1950 এর দশক থেকে) এই কনভেনশনটি ব্যবহার করে না। এছাড়াও, আমি কিছুটা গণিত অধ্যয়ন করেছি এবং গণিতবিদরা অন্তরগুলির জন্য স্কোয়ার ব্র্যাকেট এবং ভাল, অ্যারে এবং ম্যাট্রিক্স সাবস্ক্রিপিংয়ের জন্য সাবস্ক্রিপ্ট (বা অ্যারেটিকে অ-নেতিবাচক পূর্ণসংখ্যার হিসাবে ক্রিয়া হিসাবে বিবেচনা করা হয় তবে নিয়মিত বন্ধনী) ব্যবহার করেন।ia

সুতরাং, আমার প্রশ্ন হ'ল: কোথায় / কীভাবে / কোন প্রসঙ্গে অ্যারে সাবস্ক্রিপশনগুলির জন্য এই বর্গাকার বন্ধনীগুলি বিকাশ করেছিল এবং কার দ্বারা?

দ্রষ্টব্য: সিটিতে কোঁকড়ানো বন্ধনী ব্যবহার সম্পর্কে এই প্রশ্নের কোনও দ্বিগুণ নয়



@ গ্যানাট: এটি কীভাবে এর একটি দ্বি?
einpoklum

1
সম্পর্কিত কিন্তু একটি ডুপ নয়।
ব্লাস্টার

1
সেখানে দ্বিতীয় শীর্ষ উত্তরটি বর্গাকার বন্ধনীগুলির ইতিহাস কভার করে
gnat

1
@ পল টাইপো আপনার অর্থ xkcd.com/163 (xkdc ডোমেন চায়নাতে নিবন্ধিত)
1201 প্রোগ্রাম অ্যালার্ম

উত্তর:


10

সি এবং পাসকালের মূল পূর্বসূরীর ভাষা ছিল আলগোল । এর প্রথমতম সংস্করণটি ছিল আলগল 58 যা অ্যারে ঘোষণা এবং রেফারেন্সগুলির জন্য বর্গাকার বন্ধনী ব্যবহার করেছিল।

যে কারণে আলগোল স্কোয়ার বন্ধনীর চেয়ে বেশি ব্যবহার করেছিল, উদাহরণস্বরূপ, প্রথম বন্ধনী ছিল তিনগুণ:

  1. কারণ তারা পারে। প্রারম্ভিক আইবিএম কীবোর্ডগুলি, যে ফোর্টরান ডিজাইন করা হয়েছিল, কেবলমাত্র বন্ধনী ছিল। আলগোল নির্দিষ্ট করার সময় এটির পরিবর্তন হয়েছিল।
  2. ফোর্টরানের অভিজ্ঞতা থেকে দেখা গেছে যে প্রোগ্রামাররা প্রায়শই প্রথম বন্ধনী ব্যবহারের সাথে বিভ্রান্ত হন তাই এটি একটি গুরুত্বপূর্ণ সিনট্যাকটিক পরিবর্তন হিসাবে দেখা হত।
  3. আলগোলের পেছনের উদ্দেশ্যটি হ'ল এটি অ্যালগরিদমগুলি বর্ণনা করার জন্য ব্যবহৃত হবে সুতরাং এটি স্ট্যান্ডার্ড গাণিতিক স্বরলিপিটি বোধগম্য হয়ে উঠেছে।

দ্রষ্টব্য, সি এর বিপরীতে, যা মেমরি সূচকগুলিতে বেশিরভাগ অ্যারে ব্যবহার করে, আলগল নিম্ন এবং উপরের উভয়ই সীমা নির্দিষ্ট করতে দেয়। আবার এটি আরও গাণিতিক অভিপ্রায় অনুসারে রেখেছিল। এত কিছুর, বাস্তবে, বহু বছর ধরে আলগোল সিউডোকোডের ডি-ফ্যাক্টো ভাষা ছিল।


তবে বর্গাকার বন্ধনীগুলি কি স্ট্যান্ডার্ড গাণিতিক স্বরলিপিটির কাছাকাছি? আমি যখন ম্যাচটি অধ্যয়ন করেছি, [x]তখন সমতা শ্রেণির জন্য ব্যবহৃত হয়েছিল, ভেক্টর বা ম্যাট্রিক্সের মধ্যে নির্দেশিত অবস্থানের জন্য নয়।
einpoklum

2
রেফারেন্সে সাবস্ক্রিপ্ট বা সুপারস্ক্রিপ্টের চেয়ে ঘোষণার রেঞ্জের জন্য @ আইনপোকলম আরও বেশি। তবে, কারণ তারা প্রকৃতপক্ষে সেই সময়ের প্রযুক্তির সাথে সাবস্ক্রিপ্ট বা সুপারস্ক্রিপ্টগুলি করতে না পারায় তারা ভিজ্যুয়াল ধারাবাহিকতার পক্ষে গিয়েছিল। এবং তারা গাণিতিক ধারণার জন্য লক্ষ্য রাখেনি যেভাবে, বলুন, এপিএল করেছে। তারা লক্ষ্য করছিল স্পষ্টতই অ্যালগরিদম প্রকাশ করার জন্য যা একটি মোটামুটি সংকীর্ণ শাখা।
অ্যালেক্স

ওহ, এছাড়াও, বিরতিগুলির জন্য বর্গাকার বন্ধনী ব্যবহার করা হত। আমি অনুমান করি যে এটি একটি অ্যারে রেঞ্জের মতো। এছাড়াও - আপনি কি নিশ্চিত যে আলগোল এই প্রথাটি শুরু হয়েছিল?
einpoklum

@ আইনপোকলুম আমি নিশ্চিত যে সি এবং পাস্কলে স্কোয়ার বন্ধনীর ব্যবহার আলগোল থেকে এসেছে। বংশটি মোটামুটিভাবে নথিভুক্ত। যদি অ্যালগল 58 এর পূর্বসূরি কেউ থাকে যে ডিজাইনাররা সিনট্যাক্সটি সেখান থেকে নিয়েছিল, আমি এ সম্পর্কে অসচেতন। সময় দেওয়া অসম্ভব তবে অসম্ভব নয়। Algol 58 এর আগে Algol 60 এর আগে প্রয়োগ করা হয়নি তাই এটি সম্ভব যে একটি অযৌক্তিক ভাষা অনুপ্রেরণা ছিল।
অ্যালেক্স

5

এটি একটি আকর্ষণীয় পঠন: https://en.m.wikedia.org/wiki/Bracket

নিম্নলিখিত আমার নিজস্ব পর্যবেক্ষণ।

সি ডিজাইনাররা অক্ষর ও রচনাগুলির অর্থ গ্রহণে যথেষ্ট যত্ন নিয়েছিল কারণ তারা কয়েকশ বছর ধরে নিয়মিত লিখিত ভাষায় ব্যবহৃত হয়েছিল। এবং এটি করে তাদের এএসসিআইআই চরিত্রের সীমিত উপসেটের সাথে কাজ করতে হয়েছিল। পশ্চিমা ভাষায়, আরও গ্রুপিং অক্ষরগুলি লিখিত পাঠ্যে ব্যবহৃত হয় তবে এগুলি এএসসিআইআই তে পরিণত হয় নি।

নিয়মিত ভাষায়, প্রথম বার্তাটি বাধা না দিয়ে পার্সেন্টিসের অর্থ পার্শ্ব সম্পর্কিত তথ্য সরবরাহ করে। কোনও প্রক্রিয়া কল করার সময় এটি অর্থবোধ করে: মূল বার্তাটি সম্পাদন করা কর্ম এবং উপ-তথ্যটি আর্গুমেন্ট।

কোঁকড়া ধনুর্বন্ধনী গ্রুপিং জন্য ব্যবহৃত হয়। "শব্দের এই সংগ্রহটি একত্রে সম্পর্কিত, বাকীটি থেকে আলাদা করা উচিত"। সুতরাং কোডগুলি, যৌগিক স্টেটমেন্টগুলির ব্লকগুলির জন্য এগুলি ব্যবহার করা বোধগম্য।

মূল পাঠ্যটি স্পষ্ট করতে এবং প্রসঙ্গটি সরবরাহ করার জন্য স্কোয়ার বন্ধনীগুলি পাঠ্যের সন্নিবেশগুলির জন্য ব্যবহৃত হয় যা মূল অংশ ছিল না। বা উপবৃত্ত সহ বাদ দেওয়া ইঙ্গিত করতে: [...]। "তিনি [রানী] আনন্দিত হননি"। কম্পিউটার প্রোগ্রামিংয়ে অ্যারে সূচকের জন্য বন্ধনী ব্যবহার করা কিছুটা অর্থপূর্ণ কারণ এটি এক ধরণের প্রসঙ্গ সরবরাহ করা হচ্ছে। "অ্যারে? কি অ্যারে? ভাল, বিশেষত সেই উপাদানটি?" তবে এমনকি যদি মূল অর্থ কম্পিউটার ভাষায় ব্যবহারের পুরোপুরি আবরণ না করে তবে এএসসিআইআই তে খুব বেশি অন্যান্য বিকল্প বাকী নেই।

সুতরাং আমি বলব এটি পূর্বের শিল্পের মিশ্রণ এবং সেই সময়ে যা উপলব্ধ ছিল যা অ্যারে ইনডেক্সিংয়ের জন্য বর্গাকার বন্ধনী ব্যবহার করতে পরিচালিত করে।

[অ্যালেক্সের মন্তব্যের কারণে সম্পাদনা করুন]

এই উত্স অনুসারে , এএসসিআইআই 1963 সালে চালু হয়েছিল এবং 1968 সালে সরকারী অনুমোদন পেয়েছিল । এই উইকি অনুসারে 1969 সাল পর্যন্ত সি ভাষার বিকাশ শুরু হয়নি । সুতরাং সম্ভবত মনে হচ্ছে মিঃ রিচি তার চরিত্রগুলি বাছাই করার সময় এএসসিআইআই নামে পরিচিত এই নতুন বহুল সমর্থিত স্ট্যান্ডার্ডটির দিকে নজর রেখেছিলেন।

দয়া করে অন্যান্য উত্তর (গুলি) আলগোলকে "বহু ভাষার জনক", একটি শক্তিশালী প্রভাব হিসাবে মামলা করার জন্য দেখুন।


আমি মনে করি আপনি যা বলছেন তা পেয়েছি তবে সি ডিজাইনের প্রায় এক দশক অবধি ASCII কোডিং হয়নি। এর থেকে আরও বেশি সরাসরি প্রভাব ছিল পিডিপি -11 এর কীবোর্ড যা সি জন্য ডিজাইন করা হয়েছিল। এটি সমর্থন করে এমন অক্ষরগুলি ব্যবহার করে তা বোধগম্য হয়। অ্যারেগুলির জন্য বর্গাকার বন্ধনীর ব্যবহার সরাসরি আলগল থেকে বিসিপিএল এবং বি এর মাধ্যমে অনুপ্রাণিত হয়েছিল একইভাবে পাস্কালের জন্য। প্যাস্কাল ডিজাইনের পূর্বে উইথ আলগোল-ডাব্লু বাস্তবায়ন করেছিল।
অ্যালেক্স
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.