
ডেস্কটপ প্রোগ্রামিং এর জগতে যত প্রোগ্রামিং ল্যাংগুয়েজ আছে তার মধ্যে সি এর নাম বিশেষভাবে উল্লেখ করা হয় কারণ, একজন প্রোগ্রামারের প্রোগ্রামিং চর্চার হাতে খড়ি হয় সি দিয়ে। আর এরই প্রেক্ষিতে আমার সি প্রোগ্রামিং এর ধারাবাহিক টিউটোরিয়াল এবং এটি এর ৩য় পর্ব।
সি এমন একটি প্রোগ্রামিং ল্যাংগুয়েজ যা কোনো নির্দিষ্ট কাজ করার জন্য তৈরি করা হয়নি, এটি দিয়ে আপনি হিসেবের কাজ, গবেষনার কাজ, সফটওয়্যার ডেভেলপ করা,ভাইরাস তৈরি, এন্টিভাইরাস তৈরি ইত্যাদি যে কোনো কাজ করতে পারবেন। তাই একে সর্বজনবিদিত সাধারণ ল্যাংগুয়েজ বলা চলে।
বন্ধুরা, সি শুরু করার আগে কয়েকটি বিষয়ে সম্যক ধারণা রাখা প্রয়োজন বোঝার সুবিধার্থে। আমি আপনাদের সামনে বিষয়গুলো এক এক করে উপস্থাপন করছি।
র্যাম বা মেমোরীঃ
সি নিয়ে কাজ করার বেলায় র্যাম বা মেমোরী সম্পর্কে অগাধ জ্ঞান থাকলেও কিছু ধারণা রাখার প্রয়োজন। র্যাম বা মেমোরী কি ? সহজ কথায় বলা যায়, এটি হল কম্পিউটারের কাজ করার জন্য একটি জায়গা। যখন কোনো প্রোগ্রাম বা সফটওয়্যার কম্পিউটারে রান করা হয় তখন ঐ প্রোগ্রামের যাবতীয় ডাটা ও ইন্সট্রাকশন হার্ডডিস্ক থেকে র্যামে লোড হয়। আর র্যামে ডাটা লোড করার এই কাজটি করে প্রসেসর। প্রোগ্রামের ডাটা ও ইন্সট্রাকশন র্যামে লোড হওয়ার পরে প্রসেসর ও ডাটা ও ইন্সট্রাকশন র্যাম থেকে পড়ে এবং সেই অনুযায়ী কাজ করে। এরপর আপনি যখন প্রোগ্রামটি বন্ধ করে দেন, তখন র্যাম থেকে ঐ প্রোগ্রামের ব্যবহৃত সকল ডাটা ও ইন্সট্রাকশন মুছে যায়।
এ প্রসঙ্গে উল্লেখ্য কিন্তু র্যামকেই মেমোরী বলা হয় আর এই মেমোরী বলতে কিন্তু ডাটা সেভ করে রাখার জন্য ব্যবহৃত স্মৃতি বোঝানো হয় না। বরং এটি হল কাজ করার জন্য একটি স্পেস বা জায়গা।
বিট ও বাইটঃ
আমরা যখন কোনো প্রোগ্রাম তৈরি করি তখন তা তৈরি করা হয় যেকোনো ল্যাংগুয়েজের মাধ্যমে ইন্সট্রাকশান ও ডাটা দিয়ে। তাই বলা যায় যেকোনো প্রোগ্রামই হচ্ছে কিছু ইন্সট্রাকশন ও ডাটার সমষ্টি যা দেয়া হয় ল্যাংগুয়েজের মাধ্যমে। প্রোগ্রামের এই ইন্সট্রাকশান পড়েই কম্পিউটারের প্রসেসর প্রোগ্রামটিকে রান করে। কিন্তু কথা হল, এই ইন্সট্রাকশন যে ল্যাংগুয়েজেই লেখা হোক না কেন, কম্পিউটার কিন্তু কোনো ল্যাংগুয়েজই পড়তে পারেনা। সে শুধু পারে মেশিন ল্যাংগুয়েজ পড়তে, যে ল্যাংগুয়েজে আছে শুধু দুটি অক্ষর,আর কিছুই নেই। এ দুটি অক্ষর হল 0 এবং 1। আমরা যে কোনো ল্যাংগুয়েজেই প্রোগ্রাম লিখি না কেন, ঐ প্রোগ্রামটি পিসিতে লোড হওয়ার সময় এর জন্য ব্যবহৃত ইন্সট্রাকশন কনভার্ট হয়ে মেশিন ল্যাংগুয়েজে অর্থাৎ 0 এবং 1 এর সমন্বয়ে তৈরি ইন্সট্রাকশনে পরিণত হয় এবং সে ইন্সট্রাকশন অনুযায়ী প্রোগ্রাম রান করে।
মেশিন ল্যাংগুয়েজে ব্যবহৃত এই দুটি বর্ণের (0 এবং 1) প্রত্যেকটিকেই একেকটি বিট বলে। বিটকে তাই বলা যায় কোনো প্রোগ্রামের সকল ডাটার ক্ষুদ্রমত একক। আর এরকম ৮ টি বিট নিয়ে গঠিত গঠিত একককে বলে এক বাইট। 0 এবং 1 বিভিন্ন কম্বিনেশনে সজ্জিত হয়ে এক এক বাইট গঠন করে এবং প্রতিটি কম্বিনেশনই একেকটি অক্ষর বা শব্দ বা ইন্সট্রাকশন প্রকাশ করতে পারে। আবার একেকটি ইন্সট্রাকশন মেশিন ল্যাংগুয়েজে কনভার্ট হয়ে এরকম বিট দ্বারা গঠিত এক বা অসংখ্য বাইটের সমষ্টি হতে পারে।
সহজ কথায়, মেশিন ল্যাংগুয়েজের এদুটি বিট বিভিন্ন সজ্জায় সজ্জিত হয়ে ৮ বিটের একেকটি বাইট গঠন করে যা একেকটি বর্ণ প্রকাশ করতে পারে।
বোঝার সুবিধার্থে মেশিন ল্যাংগুয়েজে কিছু সজ্জা দেখানো হল

01001011
11111111
00000000
11010011
এভাবেই একেকটি বাইট গঠিত হয়।
| 


