তারিখ: বুধ, 23 জুলাই 2003 09:33:31 -0800 প্রতি: স্টেফান রাম [গোপনীয়তার জন্য সরানো] থেকে: অ্যালান কে [গোপনীয়তার জন্য অপসারণ] বিষয়: পুনরায়: "অবজেক্ট-ওরিয়েন্টেড" এর ব্যাখ্যা
হাই স্টিফান -
বিলম্বের জন্য দুঃখিত তবে আমি ছুটিতে ছিলাম।
6:27 এএম +0200 7/17/03 এ স্টিফান রাম লিখেছেন:
প্রিয় ডাঃ কে,
আমি এই বিষয়টিতে আমার টিউটোরিয়াল পৃষ্ঠার জন্য "অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং" শব্দটিতে কিছু অনুমোদনমূলক শব্দ পেতে চাই। কেবলমাত্র দুটি উত্সকেই আমি "অনুমোদনযোগ্য" বলে মনে করি হ'ল আন্তর্জাতিক মান সংস্থা, যা "আইএসও / আইসিসি 2382-15" তে "অবজেক্ট-ওরিয়েন্টেড" সংজ্ঞায়িত করে এবং আপনি, কারণ তারা যেমন বলে, আপনি সেই শব্দটি তৈরি করেছেন।
আমি বেশ নিশ্চিত যে আমি করেছি।
দুর্ভাগ্যক্রমে, আপনার শব্দটির সংজ্ঞা বা বিবরণ সহ একটি ওয়েব পৃষ্ঠা বা উত্স খুঁজে পাওয়া শক্ত। এই বিষয়ে আপনি যা বলে থাকতে পারেন সে সম্পর্কে বেশ কয়েকটি প্রতিবেদন রয়েছে (যেমন "উত্তরাধিকার, বহুবিজ্ঞান এবং এনক্যাপসুলেশন") তবে এগুলি প্রথম হাতের উত্স নয়। আমি আরও সচেতন যে পরে আপনি "বার্তা" উপর আরও জোর দিয়েছেন - তবে আমি "অবজেক্ট ওরিয়েন্টেড" সম্পর্কে জানতে চাই।
রেকর্ডগুলির জন্য, আমার টিউটোরিয়াল পৃষ্ঠা এবং আরও বিতরণ এবং প্রকাশনার জন্য আপনি দয়া করে ব্যাখ্যা করতে পারেন:
"অবজেক্ট-ওরিয়েন্টেড" শব্দটি কখন এবং কোথায় ব্যবহৃত হয়েছিল?
ইউটাতে Nov 66 নভেম্বর এর পরে যখন স্কেচপ্যাড, সিমুলা, এআরপিএনেট, বুড়ো বি 5000 এবং বায়োলজি এবং গণিতে আমার ব্যাকগ্রাউন্ডের নকশা দ্বারা প্রভাবিত হয়ে আমি প্রোগ্রামিংয়ের জন্য একটি স্থাপত্যের কথা ভেবেছিলাম thought এটি সম্ভবত 1967 সালে হয়েছিল যখন কেউ আমাকে জিজ্ঞাসা করেছিল আমি কী করছি এবং আমি বলেছিলাম: "এটি অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং" "
এটির মূল ধারণার নিম্নলিখিত অংশ ছিল।
আমি নেটওয়ার্কগুলিতে জৈবিক কোষ এবং / অথবা পৃথক কম্পিউটারের মতো অবজেক্টগুলির কথা চিন্তা করেছি, কেবল বার্তাগুলির সাথে যোগাযোগ করতে সক্ষম হয়েছি (সুতরাং মেসেজিং শুরুতেই এসেছিল - প্রোগ্রামিং ভাষায় কীভাবে দক্ষতার সাথে মেসেজিং করা যায় তা দেখতে একটু সময় লাগল) দরকারী হতে হবে)।
আমি তথ্য থেকে মুক্তি পেতে চাই। B5000 প্রায় এটির প্রায় অবিশ্বাস্য এইচডাব্লু আর্কিটেকচারের মাধ্যমে এটি করেছিল। আমি বুঝতে পেরেছিলাম যে সেল / পুরো কম্পিউটার রূপকটি ডেটা থেকে মুক্তি পাবে এবং "<-" এটি অন্য একটি বার্তা টোকেন হবে (এটি ভাবতে আমার বেশ সময় লাগল কারণ আমি এই সমস্ত চিহ্নগুলির নাম হিসাবে সত্যই ভেবেছিলাম ফাংশন এবং পদ্ধতি।
আমার গণিতের পটভূমি আমাকে বুঝতে পেরেছিল যে প্রতিটি বস্তুর সাথে এর সাথে বিভিন্ন বীজগণিত সংযুক্ত থাকতে পারে এবং এরগুলির পরিবারও থাকতে পারে এবং এগুলি খুব কার্যকর হবে। "বহুবর্ষ" শব্দটি অনেক পরে আরোপিত হয়েছিল (আমার মনে হয় পিটার ওয়েগনার লিখেছেন) এবং এটি মোটামুটি বৈধ নয়, যেহেতু এটি কার্যকরীকরণের নাম থেকে এসেছে এবং আমি ফাংশনগুলির চেয়ে কিছুটা বেশি চেয়েছিলাম। আধিক্য-বীজগণিত আকারে জেনেরিক আচরণের সাথে ডিল করার জন্য আমি একটি "উদারতা" শব্দটি তৈরি করেছি।
সিমুলা আমি বা সিমুলা 67 উত্তরাধিকার যেভাবে করেছিলেন তা আমি পছন্দ করি না (যদিও আমি ভেবেছিলাম নাইগার্ড এবং ডাহাল কেবলমাত্র দুর্দান্ত চিন্তাবিদ এবং ডিজাইনার ছিলেন)। সুতরাং আমি উত্তরাধিকারটিকে বিল্ট-ইন বৈশিষ্ট্য হিসাবে ছেড়ে দেওয়ার সিদ্ধান্ত নিয়েছি যতক্ষণ না আমি এটি আরও ভাল বুঝতে পারি।
এই আর্কিটেকচারের সাথে আমার আসল পরীক্ষাগুলি ভ্যান উইজঙ্গার্টেনস এবং উইথের "আলগোলের জেনারালাইজেশন" এবং রাইথের ইউলারের কাছ থেকে আমি গ্রহণ করেছিলাম এমন একটি মডেল ব্যবহার করে করা হয়েছিল। এই উভয়ই বরং এলআইএসপি-জাতীয় ছিল তবে আরও প্রচলিত পাঠযোগ্য সিনট্যাক্স সহ। আমি তখন বাস্তব মেটাল্যাঙ্গোয়েজের দানব এলআইএসপি ধারণাটি বুঝতে পারি নি, তবে আইরনের আইএমপি সহ বিভিন্ন উত্স থেকে এক্সটেনসিবল ভাষা আঁকার ধারণার সাথে একরকম ঘনিষ্ঠতা পেয়েছি।
এর দ্বিতীয় ধাপটি ছিল অবশেষে এলআইএসপি বুঝতে এবং তারপরে এই বোঝাপড়াটি আরও ভাল এবং আরও ক্ষুদ্রতর এবং আরও শক্তিশালী এবং আরও দেরীতে আবদ্ধ আন্ডারস্ট্রাকচারগুলি তৈরি করতে ব্যবহার করা। ডেভ ফিশারের থিসিসটি "ম্যাকার্থি" স্টাইলে করা হয়েছিল এবং এক্সটেনসিবল কন্ট্রোল স্ট্রাকচার সম্পর্কে তাঁর ধারণাগুলি খুব সহায়ক ছিল। এই সময়ে আর একটি বড় প্রভাব ছিল কার্ল হিউট-এর প্ল্যানার (যা প্রোগলটির প্রত্যাশা করতে কতটা আগে ও কতটা আগে সক্ষম হয়েছিল তা দিয়ে এটি তার প্রাপ্য স্বীকৃতিটি কখনই অর্জন করতে পারেনি)।
জেরক্স পিএআরসি-র আসল স্মার্টটাক উপরের দিক থেকে বেরিয়ে এসেছিল। পরবর্তী চ্যানেলটি ইতিহাসের অধ্যায়ের শেষে অভিযোগ করা হয়: তারা সিমুলার দিকে পিছনে পড়ে এবং প্রসারণ ব্যবস্থাকে নিরাপদ হিসাবে প্রতিস্থাপন করে না যেগুলি যে কোনও জায়গায় কার্যকর ছিল।
"অবজেক্ট-ভিত্তিক [প্রোগ্রামিং]" আপনার অর্থ কী? (কোনও টিউটোরিয়াল-জাতীয় পরিচয়ের প্রয়োজন নেই, কেবলমাত্র একটি সংক্ষিপ্ত ব্যাখ্যার সাথে [যেমন "ইনরিটিশন, পলিমারফিজম এবং এনক্যাপসুলেশন সহ প্রোগ্রামিং"] যদি সম্ভব হয় তবে তাদের সাথে পরিচিত কোনও পাঠকের পক্ষে অন্যান্য ধারণার শর্তাবলী। এছাড়াও, "অবজেক্টটি ব্যাখ্যা করা প্রয়োজনীয় নয়) ", কারণ আমার কাছে ইতিমধ্যে" স্মার্টটালকের প্রাথমিক ইতিহাস "থেকে" অবজেক্ট "সম্পর্কে আপনার ব্যাখ্যা সহ উত্স রয়েছে))
(আমি প্রকারের বিরুদ্ধে নই, তবে আমি এমন কোনও ধরণের সিস্টেম সম্পর্কে জানি না যা সম্পূর্ণ ব্যথা নয়, তাই আমি এখনও গতিশীল টাইপিং পছন্দ করি))
আমার কাছে ওওপি মানে কেবল বার্তা, স্থানীয় ধরে রাখা এবং সুরক্ষা এবং রাষ্ট্র-প্রক্রিয়া লুকানো এবং চূড়ান্তভাবে দেরী-বাঁধাই সমস্ত জিনিস। এটি স্মলটাক এবং এলআইএসপিতে করা যেতে পারে। সম্ভবত অন্যান্য সিস্টেম রয়েছে যেখানে এটি সম্ভব, তবে আমি সেগুলি সম্পর্কে অবগত নই।
[এছাড়াও,] আমার একটি বিষয় উল্লেখ করা উচিত ছিল যে দুটি মূল পথ ছিল যা সিমুলা অনুঘটক করেছিল। প্রথমটি (কেবল দুর্ঘটনায়) আমার বায়ো / নেট নন-ডেটা-প্রক্রিয়া রুট ছিল। অন্যটি, যা অধ্যয়নের একটি অবজেক্ট হিসাবে অল্পক্ষণ পরে এসেছিল তা ছিল বিমূর্ত ডেটা ধরণের, এবং এটি আরও বেশি প্লে পেয়েছিল।
যদি আমরা পুরো ইতিহাসের দিকে লক্ষ্য করি তবে আমরা দেখতে পাই যে প্রোটো-ওওপি স্টাফটি এডিটি দিয়ে শুরু হয়েছিল, আমি "অবজেক্টস" নামক দিকে কিছুটা কাঁটাচামচ করেছি - যার ফলে স্মলটাক ইত্যাদি হয়েছিল - তবে ছোট কাঁটাচামচ পরে, সিএস সংস্থাপন অনেকটা এডিটি করেছিল এবং ডেটা-প্রক্রিয়া দৃষ্টান্তের সাথে লেগে থাকতে চেয়েছিল। Orতিহাসিকভাবে, ইউএসএএফ বুড়োস 220 ফাইল সিস্টেম (এটি আমি স্মলটকের ইতিহাসে বর্ণনা করেছি), এমআইটি (এইডি এবং এর আগের) এর মধ্যে ডগ রসের প্রথম কাজ যা দেখে তিনি ডেটা স্ট্রাকচার, স্কেচপ্যাড (যা ছিল সম্পূর্ণ পলিমারফিজম - যেখানে উদাহরণস্বরূপ এর ডেটা স্ট্রাকচারে একই অফসেটটির অর্থ "প্রদর্শন" এবং কাঠামোর প্রতিনিধিত্ব করে এমন বস্তুর ধরণের জন্য যথাযথ রুটিনের জন্য একটি পয়েন্টার এবং ইত্যাদি থাকবে, এবং বুড়ো বি 5000, যার প্রোগ্রামের রেফারেন্স সারণীগুলি সত্য "বড় অবজেক্টস" এবং "ডেটা" এবং "পদ্ধতি" উভয়ের জন্য পয়েন্টারযুক্ত ছিল তবে এটি যদি ডেটার পরে যাওয়ার চেষ্টা করে এবং কোনও পদ্ধতি পয়েন্টার খুঁজে পায় তবে প্রায়শই সঠিক কাজ করতে পারে। এবং আমি আমার প্রথম উটাহ স্টাফগুলির সাথে প্রথম যে সমস্যার সমাধান করেছি তা হ'ল কেবলমাত্র পদ্ধতি এবং অবজেক্ট ব্যবহার করে "ডেটা অদৃশ্য হওয়া"। ষাটের দশকের শেষের দিকে (আমার মনে হয়) বব বালজার একটি সুন্দর নিফটি পেপার লিখেছিলেন "ডেটালেস প্রোগ্রামিং", এবং এর খুব শীঘ্রই জন রেনল্ডস একটি সমান নিফটি পেপার লিখেছিলেন "গেদাঙ্কেন" (১৯ 1970০ সালে আমি মনে করি) যা তিনি দেখিয়েছিলেন যে লামদা ব্যবহার করে এক্সপ্রেশন সঠিক পদ্ধতিতে পদ্ধতি দ্বারা ডেটা বিমূর্ত করা যাবে। যদি এটি ডেটার পরে যাওয়ার চেষ্টা করে এবং একটি পদ্ধতি পয়েন্টার খুঁজে পায় তবে প্রায়শই সঠিক কাজ করতে পারে। এবং আমি আমার প্রথম উটাহ স্টাফগুলির সাথে প্রথম যে সমস্যার সমাধান করেছি তা হ'ল কেবলমাত্র পদ্ধতি এবং অবজেক্ট ব্যবহার করে "ডেটা অদৃশ্য হওয়া"। ষাটের দশকের শেষের দিকে (আমার মনে হয়) বব বালজার একটি সুন্দর নিফটি পেপার লিখেছিলেন "ডেটালেস প্রোগ্রামিং", এবং এর খুব শীঘ্রই জন রেনল্ডস একটি সমান নিফটি পেপার লিখেছিলেন "গেদাঙ্কেন" (১৯ 1970০ সালে আমি মনে করি) যা তিনি দেখিয়েছিলেন যে লামদা ব্যবহার করে এক্সপ্রেশন সঠিক পদ্ধতিতে পদ্ধতি দ্বারা ডেটা বিমূর্ত করা যাবে। যদি এটি ডেটার পরে যাওয়ার চেষ্টা করে এবং একটি পদ্ধতি পয়েন্টার খুঁজে পায় তবে প্রায়শই সঠিক কাজ করতে পারে। এবং আমি আমার প্রথম উটাহ স্টাফগুলির সাথে প্রথম যে সমস্যার সমাধান করেছি তা হ'ল কেবলমাত্র পদ্ধতি এবং অবজেক্ট ব্যবহার করে "ডেটা অদৃশ্য হওয়া"। ষাটের দশকের শেষের দিকে (আমার মনে হয়) বব বালজার একটি সুন্দর নিফটি পেপার লিখেছিলেন "ডেটালেস প্রোগ্রামিং", এবং এর খুব শীঘ্রই জন রেনল্ডস একটি সমান নিফটি পেপার লিখেছিলেন "গেদাঙ্কেন" (১৯ 1970০ সালে আমি মনে করি) যা তিনি দেখিয়েছিলেন যে লামদা ব্যবহার করে এক্সপ্রেশন সঠিক পদ্ধতিতে পদ্ধতি দ্বারা ডেটা বিমূর্ত করা যাবে।
যে সমস্ত লোকেরা তথ্য-উপাত্ত হিসাবে বস্তু পছন্দ করেছিল তারা সংখ্যায় ছোট ছিল এবং আমাকে, কার্ল হিউট, ডেভ রিড এবং আরও কয়েকজনকে অন্তর্ভুক্ত করেছিল - বেশিরভাগ এই গোষ্ঠীর সবাই এআরপিএ সম্প্রদায়ের ছিল এবং একটির সাথে বা অন্যভাবে জড়িত ছিল এআরপিএনেট → ইন্টারনেটের নকশা যেখানে গণনার প্রাথমিক ইউনিট ছিল একটি সম্পূর্ণ কম্পিউটার। তবে কেবল সত্তর ও আশির দশকের এক ধারণাটি কীভাবে অনড় হয়ে যেতে পারে তা দেখানোর জন্য, এমন অনেক লোক ছিল যারা বস্তু এবং বার্তাগুলি সম্পর্কে চিন্তাভাবনা না করে "রিমোট প্রসেসার কল" দিয়ে চেষ্টা করার চেষ্টা করেছিল। সিস ট্রানজিট গ্লোরিয়া মুন্ডি।
চিয়ার্স,
অ্যালান কে