প্রোগ্রামিং কি?
প্রোগ্রামিং হল কম্পিউটারকে নির্দিষ্ট কাজ করানোর জন্য নির্দেশাবলী লেখার প্রক্রিয়া। এই নির্দেশাবলীগুলোকেই আমরা প্রোগ্রাম বা কোড বলি। কম্পিউটার এই নির্দেশাবলী অনুসারে কাজ করে এবং আমাদের কাঙ্ক্ষিত ফলাফল দেয়।
কি ধরনের প্রোগ্রামিং হয়ে থাকে?
প্রোগ্রামিং এর বিভিন্ন ধরন রয়েছে। এগুলোকে বিভিন্ন ভাবে শ্রেণীবদ্ধ করা যায়, যেমন:
- ল্যাঙ্গুয়েজের ভিত্তিতে: লো লেভেল, মিড লেভেল এবং হাই লেভেল
- পদ্ধতির ভিত্তিতে: প্রসিডিউরাল, নন-প্রসিডিউরাল, অবজেক্ট অরিয়েন্টেড ইত্যাদি
- কাজের ধরনের ভিত্তিতে: ওয়েব ডেভেলপমেন্ট, ডাটা সায়েন্স, মোবাইল অ্যাপ ডেভেলপমেন্ট ইত্যাদি
লো লেভেল ল্যাঙ্গুয়েজ, অ্যাসেম্বল ল্যাঙ্গুয়েজ এবং হাই লেভেল ল্যাঙ্গুয়েজ
- লো লেভেল ল্যাঙ্গুয়েজ: এই ধরনের ল্যাঙ্গুয়েজ কম্পিউটারের হার্ডওয়্যারকে সরাসরি নির্দেশ দেয়। এটি কম্পিউটারের জন্য বোঝা সহজ হলেও মানুষের জন্য বোঝা কঠিন। মেশিন কোড একটি উদাহরণ।
- অ্যাসেম্বল ল্যাঙ্গুয়েজ: এটি লো লেভেল ল্যাঙ্গুয়েজের একটি উন্নত রূপ। এখানে নির্দেশাবলীকে মনিমনিক্স বা শব্দ দিয়ে প্রকাশ করা হয়, যা মানুষের জন্য কিছুটা বোধগম্য।
- হাই লেভেল ল্যাঙ্গুয়েজ: এই ধরনের ল্যাঙ্গুয়েজ মানুষের ভাষার কাছাকাছি। এটি লেখা এবং বোঝা সহজ। জাভা, পাইথন, সি++ ইত্যাদি হাই লেভেল ল্যাঙ্গুয়েজের উদাহরণ।
কম্পাইলার আর ইন্টারপ্রেটর
- কম্পাইলার: একটি কম্পাইলার হাই লেভেল ল্যাঙ্গুয়েজে লেখা কোডকে মেশিন কোডে রূপান্তর করে। এই মেশিন কোডকে পরবর্তীতে কম্পিউটার সরাসরি বুঝতে পারে।
- ইন্টারপ্রেটর: একটি ইন্টারপ্রেটর হাই লেভেল ল্যাঙ্গুয়েজে লেখা কোডকে লাইন বাই লাইন করে মেশিন কোডে রূপান্তর করে এবং তাৎক্ষণিকভাবে চালায়।
Procedural এবং Non-procedural programming এর মধ্যে পার্থক্য
- প্রসিডিউরাল প্রোগ্রামিং: এখানে কোডকে ধাপে ধাপে বা প্রক্রিয়া অনুসারে লেখা হয়। প্রতিটি ধাপ একটি নির্দিষ্ট কাজ করে। সি, পাস্কাল ইত্যাদি প্রসিডিউরাল ল্যাঙ্গুয়েজের উদাহরণ।
- নন-প্রসিডিউরাল প্রোগ্রামিং: এখানে কোডকে ফলাফল নির্দেশ করে লেখা হয়, ধাপ বর্ণনা করে না। SQL একটি নন-প্রসিডিউরাল ল্যাঙ্গুয়েজের উদাহরণ।
স্ট্রাকচার প্রোগ্রামিং
স্ট্রাকচার প্রোগ্রামিং হল প্রসিডিউরাল প্রোগ্রামিং এর একটি ধরন। এখানে কোডকে ছোট ছোট ফাংশন বা মডিউলের মাধ্যমে গঠন করা হয়। এই ফাংশনগুলোকে আবার অন্য ফাংশন থেকে কল করা যায়।
অবজেক্ট অরিয়েন্টেড প্রোগ্রামিং
অবজেক্ট অরিয়েন্টেড প্রোগ্রামিং (OOP) হল একটি পদ্ধতি যেখানে কোডকে অবজেক্টের মাধ্যমে প্রকাশ করা হয়। প্রতিটি অবজেক্টের কিছু নির্দিষ্ট বৈশিষ্ট্য (attributes) এবং কাজ করার পদ্ধতি (methods) থাকে। জাভা, সি++ ইত্যাদি OOP ল্যাঙ্গুয়েজের উদাহরণ।