Advance KnowledgeTech Desk

কম্পিউটার প্রোগ্রামিং বলতে কি বুঝায়- What is computer programming

 

কম্পিউটার প্রোগ্রামিং বলতে কি বুঝায়- এ নিয়েই আজকে লিখবো।
আপনি নিশ্চয়ই জানেন যে, আমাদের পার্সোনাল কম্পিউটার, ল্যাপটপ, মোবাইল সবকিছুতেই RAM, মাদারবোর্ড, হার্ড ড্রাইভ ইত্যাদি অনেক যন্ত্রপাতি থাকে। প্রথমে জানতে হবে- কম্পিউটার চালু হয় কিভাবে? আপনি যখন কম্পিউটার ON করেন তখন মাদারবোর্ডের BIOS নামক একটি প্রোগ্রাম প্রথমে পরীক্ষা করে দেখে- কম্পিউটারের সব যন্ত্রপাতি ঠিক আছে কিনা। এই BIOS এর সকল settings জমা থাকে CMOS নামক চিপে। BIOS পরীক্ষা করে যদি সব ঠিকঠাক পেয়ে যায় তাহলে, একটি beep শব্দ করে। তখন, আপনার কম্পিউটারের অপারেটিং সিস্টেম (যেমনঃ Windows) আপনার কম্পিউটারের সকল প্রোগ্রাম লোড করে এবং কম্পিউটার চালু করে।
আপনি যখন কোথাও ক্লিক করেন তখন সেটা কার্নেলের মাধ্যমে হার্ডওয়্যারের কাছে যায় input হিসেবে। তারপর, আপনি যেই কাজের জন্য ক্লিক করেছেন, হার্ডওয়্যারগুলো সেই কাজ করে কার্নেলের মাধ্যমে সেই কাজটি মনিটরে প্রদর্শন করে মুহূর্তের মধ্যেই।
একটি উদাহরণ দেওয়া যাক।
মনে করুন, আপনি একটি ভিডিও দেখবেন। তাই, আপনি সেই ভিডিওর ওপর ক্লিক করলেন। এখন, কম্পিউটারের কার্নেল কম্পিউটারের CPU কে জানাবে যে, আপনি অমুক ভিডিও দেখার জন্য তাতে ক্লিক করেছেন। CPU তখন বিভিন্ন ধরনের memory তে ভিডিওটি search করবে। প্রথমে ৩ লেভেলের cache memory তে পর্যায়ক্রমে search করবে। সেখানে না পেলে RAM এর কাছে ভিডিওটির address পাঠিয়ে সেটি দিতে বলবে। এরপর যখন set/ enable wire চালু করবে তখন RAM সেই ভিডিওটি CPU কে দিবে। তখন সেটি registry -তে রেখে CPU প্রসেসিং এর কাজ করবে, দেখবে- ভিডিওটির format কি, extension কি। তারপর CPU আপনার কম্পিউটার মনিটরে ভিডিওটি play করবে GPU এর মাধ্যমে। এই সবকিছুই নির্দিষ্ট প্রোগ্রামিং এর মাধ্যমে মুহূর্তের মধ্যেই হয়ে যায়।
আবার, আপনার কম্পিউটারের CPU কিন্তু একটি সময়ে মাত্র একটি কাজই করতে পারে। যেমনঃ আপনি যদি একই সাথে একটি ভিডিও এবং আরেকটি অডিও play করেন তাহলে কিন্তু CPU একটি নির্দিষ্ট সময়ে অডিও বা, ভিডিওর যেকোন একটি play করার কাজ প্রসেস করতে পারবে। যদিও, আপনি দেখতে পারবেন যে, অডিও এবং ভিডিও দুটোই একসাথে চলছে। কারন, আপনার কম্পিউটারের CPU প্রতি সেকেন্ডে কয়েক মিলিয়ন কাজ করতে সক্ষম। তাই, অডিও এবং ভিডিও দুটোর কাজ আলাদাভাবে হলেও সেগুলো এতো তাড়াতাড়ি প্রসেসিং হয় যে আপনার মনে হয়- কাজগুলো একসাথেই হচ্ছে। তো, এই কাজগুলো কোনটা আগে হবে আর, কোনটা পরে হবে সেগুলা নির্ধারণের জন্যেও কিছু scheduling থাকে। সবকিছুই পরিচালিত হয় প্রোগ্রামের মাধ্যমে।
তবে, কম্পিউটার কিন্তু এটা জানে না যে, কোনটা ছাগলের ছবি আর, কোনটা গরুর ছবি। কারণ, কম্পিউটার মানুষের মতো বুদ্ধিমান না। নিজের বুদ্ধি বলতে কিছু নেই। বাইনারি সংখ্যা 0 এবং 1 দিয়ে তাকে যেই নির্দেশ দেওয়া হয়, সেটাই করে দেয় মাত্র। আমি যদি ইংরেজিতে ‘ABC’ অক্ষরটি লিখি তাহলে কম্পিউটারের কাছে সেটা 100000110000101000011 এরকম হবে। এই সংখ্যাগুলোর মাধ্যমে বিভিন্ন কাজের নির্দেশনা যেমনঃ Settings, file system ইত্যাদি প্রোগ্রাম জমা থাকে, সেই অনুযায়ী কাজ করে। আবার, আমরা যেসকল tool, app, software ব্যাবহার করি সেগুলোও একেকটি প্রোগ্রাম, তথা- কম্পিউটার প্রোগ্রাম। কম্পিউটারের অপারেটিং সিস্টেম Windows -ও একটি প্রোগ্রাম। কম্পিউটার প্রোগ্রামাররা এই 0 আর 1 সংখ্যা দিয়েই বিভিন্ন প্রোগ্রাম তৈরি করেন যেমনঃ app, game ইত্যাদি। কিন্তু, এই 0 আর 1 দিয়ে প্রোগ্রামিং লেখা এবং বোঝা মানুষের জন্য দুঃসাধ্য। তাই, বিভিন্ন প্রোগ্রামিং ল্যাঙ্গুয়েজ ব্যাবহার করা হয় যেগুলো ইংরেজি শব্দ দিয়ে লেখা বিভিন্ন keyword, function, module, package ইত্যাদি ব্যাবহার করে লিখতে হয়। এগুলো মানুষ সহজেই বুঝতে পারে। তবে, এসব প্রোগ্রামিং ল্যাঙ্গুয়েজ মানুষ বুঝলেও কম্পিউটার বুঝবে না। তাই, এসব প্রোগ্রামকে compiler এর মাধ্যমে 0 আর, 1 সংখ্যার কম্পিউটারের readable ভাষায় রূপান্তর করা হয়। ব্যস, এটাই কম্পিউটার প্রোগ্রামিং। এভাবেই প্রোগ্রামিং এর মাধ্যমে চলে আমাদের কম্পিউটার।
আসলে, প্রোগ্রামারদের প্রোগ্রাম করা এতো software, tool ব্যাবহার করেই আমাদের দৈনন্দিন জীবনের কাজ এতো সহজ হচ্ছে। তাই প্রোগ্রামারদেরকে ধন্যবাদ জানাতেই হয়।
মোঃ আব্দুল্লাহ আল মামুন

Leave a Reply