প্রোগ্রামিং জিনিসটা আসলে কি?

Anyone can Program

হাবলুদের জন্য প্রোগ্রামিং

ভিডিও ডাউনলোড করতে চাইলে গুগল ড্রাইভের এই লিংক অথবা এই লিঙ্কে গিয়ে ডাউনলোড করতে পারেন।
নতুন লেকচার আপলোড করা হলে যদি ইমেইল পেতে চান, তাইলে  রেজিস্ট্রেশন করুন

আজকে শিখবো : প্রোগ্রামিং কি, variable, variable types (number, string, boolean, date)

চলো চা খাই::

লিটন ভাইয়ের টঙ্গের দোকানে গিয়ে যদি আপনি এক কাপ চা চান। লিটন ভাই চায়ের কাপের মধ্যে চা-পাতা, চিনি আর দুধ দিয়ে আপনাকে এক কাপ চা বানিয়ে দিবে। এই চা বানানোর জন্য ওনাকে ছোটো-খাটো অনেক গুলো খুচরা-খাচরা কাজ করা লাগছে, যেটা আপনাকে বলে দেয়া লাগে নাই। অর্থাৎ উনি চায়ের কাপ নিছেন, তারপরে ছাকনির মধ্যে কিছু চা পাতা রেখে তার উপ্রে গরম পানি ঢেলে দিছেন। শেষে চিনি এবং দুধ দিয়ে ভালো করে নেড়ে চা টা তৈরী করে দিছেন। এই খুচরা–খাচরা কাজগুলো মান্ধাত্তার আমলে কেউ একজন লিটন ভাইরে শিখায়ে দিছে। এখন অলিল, খলিল, জলিল যে কেউ গিয়ে চা চাইলেই, লিটন ভাই ধাপে ধাপে ওই ছোট খাটো কাজগুলো করে চা তৈরী করে দিবে।

রাতে কি খামু::

চা খাইতে খাইতে খাইতে আপনার মনে হইলো রাত্রে তো খাবারের কিছু নাই। টেনশন নেবার কোনো কারণ নাই। প্লেইন রাইস ইন প্লেট এন্ড এগ ফ্রাই অন সাইড, হচ্ছে গরিবের ফাইভ ষ্টার মেনু। যাকে সোজা বাংলায় বলে, ডিমভাজি দিয়া ভাত। সেই বন্দোবস্ত করতেই গেলেন, পাশের দোকানে। আধা কেজি চাল আর একহালি ডিম কিনতে। দোকানদার বললো, আধা কেজি চালের দাম ২৮ টাকা আর এক হালি ডিমের দাম ৪১ টাকা। এখন প্রশ্ন হচ্ছে, আপনাকে মোট কতো টাকা দিতে হবে?

সেটা আপনি যদি চাল্লু হন তাইলে আঙ্গুলের দাগ গুনে গুনে বা কাগজে লিখে যোগ করতে পারেন। কারণ আপনার মাথার মধ্যে কিছু ঘিলু আছে। সেই ঘিলুতে যোগ করার পদ্ধতি ঢুকায় দেয়া আছে। ক্লাস টু তে পড়ার সময় আপনাকে শিখায় দেয়া হইছে। আর আপনি যদি হাবলু হন তাইলে, আপনি একটা ক্যালকুলেটর বের করে সেখানে ২৮ যোগ ৪১ লিখে, মোট কতো টাকা দিতে হবে সেটা আপনি বলতে পারবেন।

আপনার মাথার মধ্যে যেমন ঘিলু আছে। ক্যালকুলেটরের মাথার মধ্যেও ঘিলু আছে। সেই জন্য, আপনি যেমন যোগ করতে পারেন। ক্যালকুলেটরও যোগ করতে পারে। আপনারে, ক্লাস টু তে পড়ার সময় যোগ কিভাবে করতে হয় শিখায় দিছে। তেমনি, ক্যালকুলেটর তৈরী করার সময়ও তাকে শিখায় দেয়া হইছে যোগ কিভাবে করতে হয়। আপনি যে ধাপে ধাপে, আঙ্গুলের দাগ গুনে গুনে যোগ করতে পারেন। আপনার এই জানাটাকে বলে জ্ঞান বা নলেজ আছে। আর ক্যালকুলেটরও একই কাজ জানে। সেটাকে বলে ক্যালকুলেটরের জ্ঞান বা প্রোগ্রাম। অর্থাৎ ক্যালকুলেটর দুইটা সংখ্যাকে ধাপে ধাপে যোগ করার জ্ঞানটাই হচ্ছে একটা প্রোগ্রাম।

প্রোগ্রাম কি জিনিস?

তারমানে, কোন একটা প্রোগ্রাম বলতে আমারা বুঝি, অনেকগুলা ছোট ছোট খুচরা কাজের সমষ্টি যেটা কেউ একজন একবার শিখায় দেয়। পরবর্তীতে, ঐ কাজ করতে বললে, সে একই পদ্ধতিতে সেই কাজ বার বার করতে থাকে। যেমন, লিটন ভাইকে চা বানানোর পদ্ধতি কেউ একজন একবার শিখাই দিছে। এরপর থেকে আজীবন লিটন ভাই একই পদ্ধতিতে চোখ বন্ধ্ করে চা বানাই দিতে পারে। তেমনি ক্যালকুলেটরকে কেউ একজন যোগ করার ধাপ বা পদ্ধতি শিখায় দিছে। অর্থাৎ কেউ একজন ক্যালকুলেটরের মধ্যে যোগ করার একটা প্রোগ্রাম লিখে দিছে। এখন যতবারই যোগ করতে বলা হোক না কেন, সে একই পদ্ধতিতে বা প্রোগ্রাম ব্যবহার করে, যোগ করে ফেলবে।

তবে প্রোগ্রাম হইতে হইলেই যে অনেকগুলা খুচরা খাচরা কাজের সমষ্টিই হইতে হবে এমন কোন কথা নাই। সিম্পল খুচরা একটা কাজ দিয়েও কিন্তু একটা প্রোগ্রাম হইতে পারে, যেমন আপনি যদি কাউরে বলেন এই দিকে আয় তাইলে সে যেখানেই থাউক না কেন সে আপনার দিকে আসা শুরু করবে। এই সিম্পল খুচরা কাজটাও কিন্তু একটা প্রোগ্রাম। তারমানে কোন সিম্পল একটা কাজ বা অনেকগুলা কাজের সমষ্টিই হচ্ছে একটা প্রোগ্রাম।

তো, আপনাকে যদি আজকে থেকে কেউ জিজ্ঞেস করে "প্রোগ্রাম কি জিনিস? এইটা খায়, পিন্দে, না মাথায় দেয়?" আপনি চোখ বন্ধ করে বলে দিতে পারবেন। একটা প্রোগ্রাম হচ্ছে অনেকগুল খুচরা খাচরা কাজের সমষ্টি। সেইটাও যদি আপনার মাথায় না আসে বলে দিবেন লিটন ভাইয়ের চা বানানোই হচ্ছে একটা প্রোগ্রাম। সে যদি বলে একটা বড়-সড় প্রোগ্রামের নাম বল? তাইলে আপনি বলে দিতে পারবেন যে, কালচারাল প্রোগ্রাম, জন্মদিনের প্রোগ্রাম, বা বিয়ের প্রোগ্রাম ইত্যাদি ইত্যাদি।

আধা কেজি চালের দাম::

আমরা আবার দোকানে ফেরত যাই। এই যে, আজকে আপনি আধাকেজি চাল ২৮ টাকা দিয়ে কিনছেন। কালকে কিন্তু এই আধা কেজি চালের দাম আর ২৮ টাকা থাকবেনা। সেটা হয়ে যাবে ২৯ টাকা ৬ মাস পরে হয়ে যাবে ৩৬ টাকা। আর ১ বছর পরে আল্লাহ্‌ই মালুম যে কতো হয়। হয়তো ৪১ নয় ৪৭ টাকা হবে। তারমানে আধা কেজি চালের দাম কিন্তু টাকার অঙ্কে নির্দিষ্ট থাকতেছে না। এইটা পরিবর্তন বা চেইঞ্জ হয়ে যাচ্ছে। তারমানে হচ্ছে এইটা vary করতেছে। কিন্তু যখনই যেই দাম হোকনা কেন, আপনি যদি দোকান্দারকে জিজ্ঞেস করেন, "ভাই আধা কেজি চালের দাম কতো?" সে কিন্তু তখনকার দামটা আপনাকে বলবে।

আপনার বয়স কত?

কেউ যদি আপনাকে জিজ্ঞেস করে আপনার বয়স কতো? আপনি হয়তো এখন বলবেন ৬৯, পরের বছর বলবেন ৭০, তার পরের বছর জিজ্ঞেস করলে বলবেন ৭১। এই যে আপনার বয়সটা এইটা কিন্তু পরিবর্তিত বা চেইঞ্জ হচ্ছে। তারমানে এটা বছর বছর ভেরি করতেছে । এই যে বয়সের মান বা value পরিবর্তিত হয়ে যাচ্ছে বা ভেরি করতেছে, তাকে প্রোগ্রামিং এর ভাষায় variable বলে।

ভেরিয়েবল কি জিনিস::

সব ভেরিএবলের কিন্তু একটা নাম থাকে। যেটা ধরে আপনি ডাক দিবেন। এই যেমন, "আধা কেজি চলরে দাম" বা "বয়স" এবং আপনি এই নাম ধরে কাউরে জিগ্যেস করবেন। তো, এখন আমরা যদি উল্টা দিক থেকে দেখি, তাইলে ভেরিএবল কি জিনিস ? ভেরিএবল হচ্ছে কোন একটা জিনিস যার ভেলু বা মান পরিবর্তিত হয়। কিন্তু নাম ধরে জিগ্যেস করলে, আপনি যখন জিজ্ঞেস করলেন তখনকার যে দামটা (ভ্যালু) আছে, সেটা আপনাকে বলে দিবে। সেটাও যদি আপনার মনে না থাকে, তাইলে আপনি বলবেন যে, "ভেরিএবল মানে হচ্ছে আধা কেজি চালের দাম"

এতক্ষণ পর্যন্ত আমরা দুইটা ভেরিএবল এর কথা বলেছি। একটা ছিল হচ্ছে আধা কেজি চালের দাম আর একটা হচ্ছে বয়স। এই দুইটাকেই কোন না কোন সংখ্যা দিয়ে প্রকাশ করা যায়। যেমন আধা কেজি চালের দাম হচ্ছে ২৮ আর আপনার বয়স হচ্ছে ৭১ কিন্তু দুনিয়ার সব ভেরিএবলকেই যে সংখ্যা দিয়ে প্রকাশ করা যাবে তা কিন্তু ঠিক না। সেটা আমরা একটু পরেই দেখবো।

তোর নাম কি?

কেউ যদি আমাকে জিজ্ঞেস করে, এই তোর নাম কি? আমি উত্তর দেই, "মোহাম্মাদ গরীবুল্লাহ"। আর আপনাকে যদি কেউ জিজ্ঞেস করে, এই তোর নাম কি? আপনি বলেন, "মোহাম্মাদ ধনীর পোলা"। তারমানে এই যে, নাম জিনিসটা সেটা কিন্তু সংখ্যা দিয়ে বলা যাচ্ছেনা। সেটাকে অনেকগুলা বর্ন বা বর্নের সমষ্টি দিয়ে বলতে হচ্ছে। এই বর্নের সমষ্টিকে প্রোগ্রামিং এর ভাষায় বলে হচ্ছে স্ট্রিং । এখন এই যে স্ট্রিং জিনিসটা যে অনেকগুলা বর্নের সমষ্টি সেইডা কিন্তু মনে রাখাডা সহজ না। এই জন্য আমি চোখ বন্ধ করে একুশে ফেব্রুয়ারীর কথা চিন্তা করি। যখন দড়ির মধ্যে অনেকগুলা বর্ন সুতা দিয়া ঝুলায়ে রাখে। তারমানে এই দড়িটা হচ্ছে অনেকগুলা বর্নের সমষ্টি যেটাকে হচ্ছে ইংরেজিতে বলে হচ্ছে স্ট্রিং।

রিক্সার দিয়ে ঘুরা::

আর একটা বিষয় হচ্ছে। ধরেন, আপনার বান্ধবী যদি আপনাকে জিজ্ঞেস করে "আমাদের ফাস্ট রিক্সার হুড তুলে দিয়ে ঘুরার দিবস কবে?" আপনি হয়তো বিপদে পরে যাবেন। আন্দাজে কোন একটা তারিখের কথা বলতে হবে। কিন্তু আপনাকে যে উত্তরটা দিতে হবে সেটা কিন্তু কোন সংখ্যা বা বর্নের সমষ্টি হইলে হবে না আপনাকে বলতে হবে কোন একটা তারিখ, তারমানে এটা হচ্ছে আর একটা আরেকটা ডিফারেন্ট টাইপ এর ভেরিএবল।

টেকাটুকা::

আর লাস্ট যেটা হচ্ছে সেটা হচ্ছে ধরেন আপনার আপুর হাত ব্যাগ থেকে দুইটা ১০০০ টাকার নোট হারানো গেছে। সেতো রাগে কটমট করতে করতে আপনার কাছে এসে জিজ্ঞেস করল, এই হয় হ্যাঁ অথবা না বলবি। তুই কি আমার ব্যাগ থেকে ১০০০ টাকার দুইটা নোট সরাইছিস? তখন আপনাকে যে উত্তর দিতে হবে, সেটা হচ্ছে হ্যাঁ অথবা না। কিন্তু আপনি কোন সংখ্যা বর্ন বা তারিখ বলতে পারবেন না।

যা যা শিখলাম::

তারমানে, প্রোগ্রামিং হচ্ছে অনেকগুলা খুচরা খচরা ছোট খাটো কাজের সমষ্টি যেটা আগে থেকে কেউ একজন বলে দেয় বা শিখায়ে দেয় এবং আপনি যখন ওইটা করতে বলেন, তখন সে নিজে নিজে ওই স্টেপ গুলা ফলো করে আপনাকে আউটপুটটা দিয়ে দিবে।

আর ভারিএবেল হচ্ছে কোন একটা জিনিস যার ভেলু বা মান পরিবর্তিত বা চেইঞ্জ হইতে পারে এবং তার একটা নাম থাকবে, আপনি যখন ওই নাম ধরে জিজ্ঞেস করবেন আপনাকে তখনকার ভেলুটা দিয়ে দিবে। এই ভেরিএবেল গুলা আবার অনেকগুলা টাইপের হইতে পারে। যেমন সংখ্যা , বর্নের সমষ্টি , তারিখ অথবা হ্যা না টাইপ।

এর পরেও আপনার কাছে যদি এই জিনিসগুলা কঠিন মনে হয় তাইলে প্রোগ্রামিং মানে হচ্ছে লিটন ভাইয়ের চা বানানো এবং ভেরিএবল মানে হচ্ছে আধা কেজি চালের দাম।

সঙ্গেই থাকুন::

পরবর্তি লেকচারটা নভেম্বরের ফাস্ট উইকে আসবে।




Question or Feedback:

যদি লোকসম্মুখে প্রশ্ন জিগ্গেস করতে বা উপদেশ, বকাঝকা, গালাগালি, হুমকি দিতে সংকোচ লাগে তাইলে ইমেইল করে দেন jhankar.mahbub@gmail.com