অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং এর প্রয়োজনীয়তা :
প্রসিডিউরাল (procedural ) বা সি প্রোগ্রামিং ভাষার বেশ কিছু অসুবিধা আছে । আমরা চাইলে প্রোগ্রাম কে পুনরায় ব্যাবহার যোগ্য করতে পারি না , কম্পোনেন্ট তৈরী করতে পারি না। সব থেকে বড় অসুবিথা হল একটি প্রোগ্রাম এর ফাংশন কে অন্য প্রোগ্রাম এ ব্যাবহার করতে পারি না । কারণ ফাংশন গুলো সাধারণত গ্লোবাল (Global) ভ্যারিয়েবল এবং অন্যান্য ফাংশন এর উপর নির্ভর করে ।
এই ভাষাগুলো হাই লেভেল অ্যাবস্ট্রাক্টশন (high level abstraction ) এর উপর ঠিক মানানসই নয় ।
সি প্রোগ্রামিং ভাষা যে কম্পোনেন্ট গুলো ব্যাবহার করে তা লো-লেভেল , যা দিয়ে একটি বাস্তব জগতের সমস্যাকে সহজে চিত্রায়ন করা যায় না । কাস্টমার রিলেশনশিপ ম্যানেজমেন্ট (customer relationship management), CRM অথবা ফুটবল খেলাকে সহজে সি দ্বারা চিত্রায়ন করা সম্ভব হয় না ।
১৯৭০ সালে যুক্তরাষ্ট্র প্রতিরক্ষা অধিদপ্তর একটি টাস্কফোর্স তদন্থ করে বের করার চেস্টা করে যে কেন আইটি বাজেট নিয়ন্ত্রণ করা যায় না । সেগুলর মধ্যে ৮০% ব্যাবহার করা হয় সফটওয়্যারে এবং ২০% করা হয় হার্ডওয়্যার এ । এই ৮০% এর মধ্যে , ৮০% ব্যাবহার করা হয় শুধুমাত্র সফটওয়্যার মেইনটেইন্স এর ক্ষেত্রে । আর বাকি ২০% ব্যাবহার করা হয় সফটওয়্যার বানানোর ক্ষেত্রে । সফটওয়্যার সহজে ব্যাবহার করা যায় এবং এর ইন্ট্রিগ্রিটি নষ্ট হয় না । একই সাথে হার্ডওয়্যার এর একটি বিশেষ অংশ নষ্ট হয়ে গেলে তা সহজে আলাদা করা যায় এবং নতুন একটি দিয়ে পরিবর্তন করা যায় । কিন্তু সফটওয়্যার এর ক্ষেত্রে তা সম্ভব হয় না, একটি প্রোগ্রাম এর জন্য অন্য প্রোগ্রাম এর সমস্যা তৈরী হয় ইত্যাদি ।
এই সমস্যা সমাধাণ করার জন্য টাস্কফোর্স একটি প্রস্তাব করে যে, সফটওয়্যার ও হার্ডওয়্যার এর মত হয়া উচিৎ । প্রগ্রামিং ভাষা পরিবর্তন করে অ্যাডা (Ada) নামে একটি অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ভাষা ব্যাবহার করে ।
প্রসিডিউরাল (procedural ) বা সি প্রোগ্রামিং ভাষার বেশ কিছু অসুবিধা আছে । আমরা চাইলে প্রোগ্রাম কে পুনরায় ব্যাবহার যোগ্য করতে পারি না , কম্পোনেন্ট তৈরী করতে পারি না। সব থেকে বড় অসুবিথা হল একটি প্রোগ্রাম এর ফাংশন কে অন্য প্রোগ্রাম এ ব্যাবহার করতে পারি না । কারণ ফাংশন গুলো সাধারণত গ্লোবাল (Global) ভ্যারিয়েবল এবং অন্যান্য ফাংশন এর উপর নির্ভর করে ।
এই ভাষাগুলো হাই লেভেল অ্যাবস্ট্রাক্টশন (high level abstraction ) এর উপর ঠিক মানানসই নয় ।
সি প্রোগ্রামিং ভাষা যে কম্পোনেন্ট গুলো ব্যাবহার করে তা লো-লেভেল , যা দিয়ে একটি বাস্তব জগতের সমস্যাকে সহজে চিত্রায়ন করা যায় না । কাস্টমার রিলেশনশিপ ম্যানেজমেন্ট (customer relationship management), CRM অথবা ফুটবল খেলাকে সহজে সি দ্বারা চিত্রায়ন করা সম্ভব হয় না ।
১৯৭০ সালে যুক্তরাষ্ট্র প্রতিরক্ষা অধিদপ্তর একটি টাস্কফোর্স তদন্থ করে বের করার চেস্টা করে যে কেন আইটি বাজেট নিয়ন্ত্রণ করা যায় না । সেগুলর মধ্যে ৮০% ব্যাবহার করা হয় সফটওয়্যারে এবং ২০% করা হয় হার্ডওয়্যার এ । এই ৮০% এর মধ্যে , ৮০% ব্যাবহার করা হয় শুধুমাত্র সফটওয়্যার মেইনটেইন্স এর ক্ষেত্রে । আর বাকি ২০% ব্যাবহার করা হয় সফটওয়্যার বানানোর ক্ষেত্রে । সফটওয়্যার সহজে ব্যাবহার করা যায় এবং এর ইন্ট্রিগ্রিটি নষ্ট হয় না । একই সাথে হার্ডওয়্যার এর একটি বিশেষ অংশ নষ্ট হয়ে গেলে তা সহজে আলাদা করা যায় এবং নতুন একটি দিয়ে পরিবর্তন করা যায় । কিন্তু সফটওয়্যার এর ক্ষেত্রে তা সম্ভব হয় না, একটি প্রোগ্রাম এর জন্য অন্য প্রোগ্রাম এর সমস্যা তৈরী হয় ইত্যাদি ।
এই সমস্যা সমাধাণ করার জন্য টাস্কফোর্স একটি প্রস্তাব করে যে, সফটওয়্যার ও হার্ডওয়্যার এর মত হয়া উচিৎ । প্রগ্রামিং ভাষা পরিবর্তন করে অ্যাডা (Ada) নামে একটি অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ভাষা ব্যাবহার করে ।
OOP concept
Mahadi Hasan
কোন মন্তব্য নেই:
একটি মন্তব্য পোস্ট করুন