C++ এবং Go প্রোগ্রামিং ভাষার পার্থক্য বোঝার আগে দুটি ভাষার ধারণা জানা দরকার।
Go
Go হলো একটি ওপেন সোর্স প্রোগ্রামিং ভাষা যা গুগলের কর্মীদের দ্বারা তৈরি করা হয়েছে। এটি দ্রুত কম্পাইল্ড, গার্বেজ কালেক্টেড, স্ট্রাঙলি টাইপড এবং কনকারেন্ট প্রোগ্রামিং-এর জন্য এক্সপ্লিসিট সাপোর্টের জন্য ডিজাইন করা হয়েছে। মূল ডেভেলপাররা রব পাইক, রবার্ট Гриসেমার এবং কেন থম্পসন ২০০৭ সালে কাজ শুরু করেন। এটি BSD লাইসেন্সের অধীনে লাইসেন্সড। বড় সিস্টেমের জন্য স্ট্যাটিক টাইপিং এবং স্কেলেবিলিটি সাপোর্ট করে।
ফিচারসমূহ
- ল্যাঙ্গুয়েজ ডিজাইন
- পাওয়ারফুল স্ট্যান্ডার্ড লাইব্রেরি
- প্যাকেজ ম্যানেজমেন্ট
- স্ট্যাটিক টাইপিং
- টেস্টিং সাপোর্ট
- C-ইনস্পায়ার্ড সিনট্যাক্স
- কম্পাইল্ড
- নিরাপদ ও ওপেন সোর্স
সুবিধাসমূহ
- সিকিউরিটি ফ্রেন্ডলি
- গুগল দ্বারা সমর্থিত
- ব্যবহার করা সহজ
- চমৎকার ডকুমেন্টেশন
- কম কোডে বেশি কাজ
অসুবিধাসমূহ
- ডেভেলপমেন্টে বেশি পরিশ্রম লাগে
- নতুন ভাষা
- কম ভার্সেটাইল
- বড় ইকোসিস্টেম বানাতে বেশি সময় লাগে
- অধিক কম্পিউটেশনাল রিসোর্স খরচ করে
C++
C++ অসংখ্য প্রোগ্রাম, কম্পিউটিং টাস্ক এবং অন্যান্য প্রোগ্রামিং ভাষার রিডবোন। এটি প্রোসিডিউরাল, ফাংশনাল এবং মাল্টি-প্যারাডাইম। ১৯৮৫ সালে ডেনিশ প্রোগ্রামার বিয়ার্ন স্ট্রৌস্ট্রুপ লঞ্চ করেন। এটি অবজেক্ট-ওরিয়েন্টেড এবং জেনারেল-পারপাস প্রোগ্রামিং ভাষা। এটি মাল্টিপল ইনহেরিটেন্স সাপোর্ট করে।
ফিচারসমূহ
- গতি
- খুব জনপ্রিয় এবং ব্যবহার সহজ
- অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং
- প্ল্যাটফর্ম إندিপেনডেন্স
- কেস সেনসিটিভ
- কম্পাইলার বেসড
- হাই-লেভেল প্রোগ্রামিং ভাষা
- ডাইনামিক মেমরি অ্যালোকেশন
- লাইব্রেরির অস্তিত্ব
সুবিধাসমূহ
- মাল্টি-প্যারাডাইম
- C-এর সাথে কম্প্যাটিবিলিটি
- পোর্টেবিলিটি
- অবজেক্ট-ওরিয়েন্টেড
- মেমরি ম্যানেজমেন্ট
- লো-লেভেল ম্যানিপুলেশন
- স্কেলেবিলিটি
- বড় কমিউনিটি সাপোর্ট
অসুবিধাসমূহ
- সিকিউরিটি ইস্যু
- পয়েন্টার ব্যবহার
- বিল্ট-ইন থ্রেড নেই
- গার্বেজ কালেক্টর নেই
প্রধান পার্থক্যগুলো
| Go | C++ |
|---|---|
| গুগল কর্মীদের দ্বারা তৈরি ওপেন সোর্স ভাষা | অবজেক্ট-ওরিয়েন্টেড জেনারেল-পারপাস ভাষা |
| ২০০৭ সালে রব পাইক, রবার্ট Гриসেমার, কেন থম্পসন শুরু করেন | ১৯৮৫ সালে বিয়ার্ন স্ট্রৌস্ট্রুপ লঞ্চ করেন |
| মাল্টিপল ইনহেরিটেন্স সাপোর্ট করে না | মাল্টিপল ইনহেরিটেন্স সাপোর্ট করে |
| কম্পাইলারে অপ্টিমাইজেশন দেয় না | কম্পাইলেশনের সময় SIMD অপ্টিমাইজেশন দেয় |
| ক্লাস-বেসড ডিক্লেরেশন সাপোর্ট করে না | ক্লাস সাপোর্ট করে |
| BSD লাইসেন্সের অধীনে | ওপেন সোর্স প্রজেক্ট ২.০ |
| স্ট্যাটিক এবং স্ট্রাঙ টাইপিং ডিসিপ্লিন | স্ট্যাটিক টাইপিং |
| পলিমরফিজম নেই | পলিমরফিজম আছে |
| লজিক্যাল অপারেটর আছে | true, false, bool ব্যবহার করে |
| টেমপ্লেট লাইব্রেরি নেই | স্ট্যান্ডার্ড টেমপ্লেট লাইব্রেরি (STL) আছে |
| ইমপ্লিসিট টাইপ কনভার্সন সাপোর্ট করে না | ইমপ্লিসিট টাইপ কনভার্সন সাপোর্ট করে |
| const বা volatile কোয়ালিফায়ার সাপোর্ট করে না | const এবং volatile কোয়ালিফায়ার সাপোর্ট করে |
| ইনহেরিটেন্স সাপোর্ট করে না | ইনহেরিটেন্স সাপোর্ট করে |
| while বা do-while নেই, for লুপ ব্যবহার করে | while এবং do-while স্টেটমেন্ট আছে |