C প্রোগ্রামিং ল্যাঙ্গুয়েজে মোটামোটি ধারনা আছে; কিন্তু C++ এখনও শুরু করেনি, এমন যারা রয়েছে তাদের অধিকাংশের-ই মনের ভিতর একটা প্রশ্ন বা কনফিউশান ঘুরপাক করতে থাকে যে- "C++ কবে থেকে শুরু করা উচিত?"
আমার মনে হয়, কেউ যদি C থেকে C++ মনেপ্রাণে শুরুই করতে চায় তাহলে তার জন্য শুধুমাত্র ৫-১০ মিনিট সময়ই যথেষ্ঠ!
হ্যাঁ, ৫ থেকে ১০ দিনও না; শুধুমাত্র ৫ থেকে ১০ মিনিট! অবাক হওয়ার কিছু নেই।
C Plus Plus শুরু করার আগে এর উপর অনেকেরই একটা অজানা ভীতি কাজ করতে থাকে। মনে হয় যেন এটি শুরু করতে হলে অনেক গুলো প্রি-রিকয়ারমেন্ট থাকতে হবে। যেমনঃ
- C এর A to Z সব ধরণের সিনট্যাক্স জানতে হবে
- C++ এর একটা বিশাল ভিডিও সিরিজ দেখতে হবে
- C++ এর সব ধরনের সিনট্যাক্স, লাইব্রেরি (STL / others) সব একসাথে শিখে নিতে হবে
- হিউজ লজিক্যাল থিংকিং অ্যাবিলিটি বা প্রবলেম সলভিং স্কিল থাকতে হবে
ইত্যাদি-সিত্যাদি, এরকম আরও অনেক কিছু মাথায় ঘুরতে থাকে...!
এমন মনে হওয়ার অন্যতম একটি কারন হচ্ছে- অনেকেই C++ কে C থেকে আলাদা একটি ল্যাংগুয়েজ মনে করা। কিন্তু C++ তো আলাদা কোনো ভাষা নয়; এটি শুধুমাত্র C এর একটা এক্সটেন্ডেড ভার্সন। অর্থাৎ C এর মধ্যে যা আছে সবই C++ এ আছে। C++ এর কোডের মধ্যেও C এর মতো করে কোড লিখা যাবে। অর্থাৎ C++ এ C এর চেয়ে অনেক গুলো এক্সট্রা সুযোগ-সুবিধা পাওয়া যাবে, যা লাইফ ইজি করে দিবে। অন্যভাবে বলা যায়, C++ যদি একটা সেট হয়, তাহলে C হচ্ছে এর একটি সাবসেট।
যারা একসাথে সবকিছু শিখে মাঠে নামতে চায় তাদের মধ্যে অনেকেরই লাইনচ্যুত হয়ে যাওয়ার সম্ভাবনা থাকে।
তবে C এর বেসিক সিনট্যাক্স, লুপ, কন্ডিশন, অ্যারে, স্ট্রিং সম্পর্কে মোটামোটি ধারণা নিয়ে তারপর C++ শুরু করা উচিত। কেউ চাইলে ফার্স্ট ল্যাংগুয়েজ হিসেবেও C++ শুরু করতে পারে। কিন্তু ফার্স্ট ল্যাংগুয়েজ C থাকাটাই বেটার।
তো, C++ শুরু করার জন্য, এই ৫-১০ মিনিটে কী কী শিখে নিতে হবে?
--- ১. হেডারফাইল
C তে ইউজ করতেন #include<stdio.h>
তারপর int main() লিখে মূল কোড শুরু করতেন।
আর এখন, C++ এ ইউজ করবেন এই দুই লাইনঃ
#include<bits/stdc++.h>
using namespace std;
তারপর int main() লিখে মূল কোড শুরু করবেন।
--- ২. প্রিন্ট ফাংশন
C তে কোনো কিছু প্রিন্ট করার জন্য ইউজ করতেন printf ফাংশন। যেমনঃ
printf("Hello World\n);
আর, C++ এ এখন লিখবেন-
cout << "Hello World\n";
--- ৩. স্ক্যান ফাংশন
C তে কোনো কিছু কী-বোর্ড থেকে থেকে ইনপুট নেয়ার জন্য scanf ফাংশন ইউজ করতেন-
যেমনঃ কারও বয়স ইনপুট নেয়ার জন্য-
int age;
scanf(" %d", &age);
আর, এখন C++ এ লিখবেন-
int age;
cin >> age;
--- ৪. ফাইল এক্সটেনশন
C এর কোনো ফাইল সেইভ করার সময় ফাইলের নামের শেষে (.c) দিতেন। আর এখন C++ এ দিবেন (.cpp)
C++ এ ভ্যারিয়েবল ডিকলারেশন (int / float / double), কন্ডিশন (if, else if, else, switch-case), লুপ (for/ while / do while), অ্যারে, স্ট্রিং সবকিছু C এর মতোই।
ব্যাস! আপাতত আর কিছু শিখতে হবে না। এখন C++ এ কোড লেখা শুরু করে দিতে পারেন। এরপর C++ দিয়েই নিয়মিত (বেসিক লেভেলের) প্রবলেম সলভ করতে থাকবেন, আর এর পাশাপাশি ধীরে ধীরে C++ এর বিভিন্ন সিনট্যাক্স ও লাইব্রেরি (Specially STL) সম্পর্কে ধারণা নিতে থাকবেন। তবে C++ এতোই বিশাল একটা ভান্ডার, যা একসাথে সব শেষ করা সহজ কোনো কথা নয়।
আশা করি, এভাবে আগালে অন্ততঃ হতাশা, আত্মবিশ্বাসহীনতা, লাইনচ্যুত হওয়া সহ এমন ভয়ঙ্কর শব্দগুলোর মুখোমুখি হতে হবে না।
হ্যাপি কোডিং!