কম্পিউটার টিউটোরিয়াল

C++ ল্যাঙ্গুয়েজের ইতিহাস

C++ প্রোগ্রামিং ল্যাঙ্গুয়েজের ইতিহাস ১৯৭৯ সালে ফিরে যায়, যখন বяр্নে স্ট্রৌস্ট্রুপ তার পিএইচ.ডি. থিসিসের জন্য কাজ করছিলেন। তিনি "C with Classes"-এ কাজ শুরু করেন, যা নাম অনুযায়ী C ল্যাঙ্গুয়েজের একটি সুপারসেট হওয়া উদ্দেশ্যে ছিল। তাঁর লক্ষ্য ছিল C ল্যাঙ্গুয়েজে অবজেক্ট-অরিয়েন্টেড প্রোগ্রামিং যোগ করা, যা পোর্টেবিলিটির জন্য বিখ্যাত এবং স্পিড বা লো-লেভেল ফাংশন্যালিটি ছাড়া নয়।

তাঁর ল্যাঙ্গুয়েজে ছিল ক্লাস, বেসিক ইনহেরিটেন্স, ইনলাইনিং, ডিফল্ট ফাংশন আর্গুমেন্ট, এবং স্ট্রং টাইপ চেকিং C-এর সকল বৈশিষ্ট্যের সাথে। প্রথম "C with Classes" কম্পাইলার hieß Cfront, যা CPre নামে একটি C কম্পাইলার থেকে ডিরাইভড ছিল। এটি "C with Classes" কোডকে সাধারণ C-তে অনুবাদ করার জন্য ডিজাইন করা একটি প্রোগ্রাম ছিল।

১৯৮৩ সালে, ল্যাঙ্গুয়েজের নাম "C with Classes" থেকে "C++" এ পরিবর্তন করা হয়। C ল্যাঙ্গুয়েজের ++ অপারেটর একটি ভেরিয়েবল ইনক্রিমেন্ট করার অপারেটর, যা স্ট্রৌস্ট্রুপ ল্যাঙ্গুয়েজটিকে কীভাবে দেখতেন তা কিছুটা ইঙ্গিত দেয়। এই সময় عديدة নতুন ফিচার যোগ করা হয়, সবচেয়ে উল্লেখযোগ্য হলো: ভার্চুয়াল ফাংশন, ফাংশন ওভারলোডিং, & সিম্বল দিয়ে রেফারেন্স, const কিওয়ার্ড, এবং ডাবল ফরওয়ার্ড স্ল্যাশ দিয়ে সিঙ্গল-লাইন কমেন্ট।

১৯৮৫ সালে, C++ একটি কমার্শিয়াল প্রোডাক্ট হিসেবে ইমপ্লিমেন্ট করা হয়। ল্যাঙ্গুয়েজটি অফিশিয়ালি স্ট্যান্ডার্ডাইজড হয়নি। ১৯৮৯ সালে ল্যাঙ্গুয়েজ আপডেট হয় protected এবং static মেম্বার, সেইসাথে একাধিক ক্লাস থেকে ইনহেরিটেন্স অন্তর্ভুক্ত করে।

১৯৯০ সালে, Turbo C++ একটি কমার্শিয়াল প্রোডাক্ট হিসেবে রিলিজ করা হয়। Turbo C++ অনেক অতিরিক্ত লাইব্রেরি যোগ করেছিল যা C++-র ডেভেলপমেন্টে উল্লেখযোগ্য প্রভাব ফেলেছে।

১৯৯৮ সালে, C++ স্ট্যান্ডার্ডস কমিটি প্রথম আন্তর্জাতিক স্ট্যান্ডার্ড প্রকাশ করে C++-র জন্য ISO/IEC 14882:1998, যা অনফিশিয়ালি C++98 হিসেবে পরিচিত। স্ট্যান্ডার্ড টেমপ্লেট লাইব্রেরি (STL), যাগার কনসেপ্টুয়াল ডেভেলপমেন্ট ১৯৭৯ সালে শুরু হয়েছিল, সেটিও অন্তর্ভুক্ত করা হয়। ২০০৩ সালে, কমিটি ১৯৯৮ স্ট্যান্ডার্ডে রিপোর্ট করা সমস্যার সাপেক্ষে রিভাইজ করে। পরিবর্তিত ল্যাঙ্গুয়েজ নাম করা হয় C++03।

২০১১ সালের মাঝপথে, নতুন C++ স্ট্যান্ডার্ড (C++11) পুরা হয়। নতুন ফিচারগুলোর মধ্যে রয়েছে: Regex সাপোর্ট, একটি র্যান্ডমাইজেশন লাইব্রেরি, একটি নতুন C++ টাইম লাইব্রেরি, অ্যাটমিক্স সাপোর্ট, একটি স্ট্যান্ডার্ড থ্রেডিং লাইব্রেরি, একটি নতুন for লুপ সিনট্যাক্স (কতিপয় অন্যান্য ল্যাঙ্গুয়েজের for-each লুপের মতো ফাংশনালিটি প্রদান করে), auto কিওয়ার্ড, নতুন কন্টেইনার ক্লাস, ইউনিয়ন এবং অ্যারে-ইনিশিয়ালাইজেশন লিস্টের জন্য উন্নত সাপোর্ট, এবং ভেরিয়াডিক টেমপ্লেট।

  1. কম্পিউটার সায়েন্সে C++-এর ভূমিকা

  2. C++ প্রোগ্রামিং ল্যাঙ্গুয়েজ কী?

  3. পাইথনের ইতিহাস

  4. বিভিন্ন Linux ডিস্ট্রোর ইতিহাস