Jun 12, 2015

অবজেক্ট ওরিয়েন্টেট প্রোগ্রামিং সম্পর্কে সংক্ষিপ্ত আলোচনা

প্রোগ্রামিং শেখার একদম শুরুতে আমরা স্ট্রাকচার প্রোগ্রামিং শিখি। কিন্তু কম্পিউটারের প্রোগ্রামিং শুরু হওয়ার থেকে এই পর্যন্ত কম্পিউটার প্রোগ্রামিং অনেক জটিল হয়ে পরেছে। এই ক্ষেত্রে স্ট্রাকচার প্রোগ্রামিং করা সম্ভব হয়ে উঠেনা। তাই আমাদেরে অবজেক্ট অরিয়েন্টেট প্রোগ্রামিং ছাড়া উপায় থাকেনা। সুতরাং অবজেক্ট অরিয়েন্টেট প্রোগ্রামিং হচ্ছে প্রোগ্রামিং
জগতের একটা বড় হাতিয়ার। OOP এর সংক্ষিপ্ত নাম। নীচে এর সংজ্ঞা এরূপভাবে দেওয়া যায়ঃ
অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং হল প্রোগ্রামিং এর সেই পদ্ধতি,যেখানে প্রত্যেক প্রোগ্রাম কোন না কোন ক্লাসের অধীনে থাকে এবং সেই ক্লাসের নিজস্ব অবজেক্ট তৈরী করে নিজস্ব ফাংশন ব্যাবহার করে আমরা কাজ করতে পারি।
বড় ধরনের প্রোগ্রামিং লিখতে গেলে যে যে সমস্যা হয় তার সবটাই OOP দূর করে।
পৃথিবীর সবচেয়ে প্রথম অবজেক্ট অরিয়েন্টেট প্রোগ্রামিং ভাষা হলো সিমুলা ৬৭ (simula 67)।ভিএইচডিএল (VHDL)  হল ২য়  OOP।

বর্তমানের সবচেয়ে জনপ্রিয় অবজেক্ট অরিয়েন্টেট প্রোগ্রামিং ল্যাঙ্গুয়েজ গুলোর মধ্যে সি++ এবং জাভা অন্যতম।  সি++ মুলত সি এর বর্ধিত সংস্করণ। এটা সিমুলা ৬৭ এবং সি এর মিলিত রুপ যা ১৯৮০ সালে তৈরি করা হয়, যুক্তচরাষ্ট্রের এটিএন্ডটি বেল ল্যাবোরেটরিতে (AT&T Bell Laboratory) জন স্ট্রাউসট্রপ (Bjarne Stroustrop) কতৃক সি এর প্রধান বৈশিষ্ট্য সমূহের সাথে সিমুলা ৬৭ এর ক্লাসের ধারনা যোগ করে অবজেক্ট অরিয়েন্টেড প্রোগ্রামিং এর বৈশিষ্ট্যসম্পন্ন একটি নতুন ভাষা উদ্ভাবন করে।তখন এর নাম ছিলো "সি উইথ ক্লাস"। ১৯৮৩ সালে এর নাম পরিবর্তন করে সি++ করা হয়। অপর দিকে সি++ তখন ইউজা র ফ্রেন্ডলি না হওয়ায় সান মাইক্রোসিস্টেম তৈরি করে জাভা।

অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং মূলত তিন প্রকার। যথাঃ
১।পলিমরফিজম(Polymorphism)
২।ইনহেরিটেন্স(Inheritance)
৩।এনক্যাপসুলেশন(Encapsulation)

অনেক কিছু লেখার বাকী, সময় স্বল্পতা, তাই আজ লিখতে পারছিনা... যা পরের কোন পোস্টে হয়তো লিখবো...সংক্ষিপ্ত আলোচনা...তাই সংক্ষেপেই শেষ করলাম।

যাক, অনেক ইতিহাস ঘাটা হল... এখন চলুন দেখে নেই সুচনা থেকে আজ পর্যন্ত তৈরি করা অবজেক্ট অরিয়েন্টেট প্রোগ্রামিং ল্যাঙ্গুয়েজ গুলোর নামঃ-
( List is copied from wikipedia.org)

Load disqus comments

0 comments

Popular Posts

Powered by Blogger.
Powered by WhoWantStuffs - Widget