মঙ্গলবার, ১৪ জুন, ২০১১

সি প্রোগ্রামিং: সি সম্পর্কে ধারণা

লিখেছেনঃ মিঠু তারিখঃ ১২/০৬/২০১১


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


সি কে বলা হয় “Mother of all language”— সকল ল্যংগুয়েজের জননী। কেন বলা হয় ? কারণ এটি এমন একটি ল্যাংগুয়েজ যা সকল ল্যাংগুয়েগের বেসিক। সি শিখলে একজন মানুষের প্রোগ্রামিং সম্পর্কে ধারণা পরিষ্কার হয়ে যায়। সি এর পরে যত ল্যাংগুয়েজ এসেছে, সে সকল ল্যাংগুয়েজ শেখা অনেকটাই সোজা হয়ে যায় যদি সি জানা থাকে। আর এ কারণেই যেকোনো প্রোগ্রামিং শেখানোর ক্ষেত্রে শিক্ষাপ্রতিষ্ঠানগুলোতে প্রথমে সি শেখানো হয়। সি এর এমন অপরিহার্যতার প্রেক্ষিতে আমি সি প্রোগ্রামিং এর উপরে ধারাবাহিক শুরু করতে যাচ্ছি।





প্রোগ্রামিং প্রকারভেদঃ

প্রোগ্রামিংকে সাধারণত দু ভাগে ভাগ করা যায়। ডেস্কটপ প্রোগ্রামিং এবং ওয়েব প্রোগ্রামিং।


সাধারণ কথায় ডেস্কটপ প্রোগ্রামিং বলতে এমন প্রোগ্রামিং ল্যাংগুয়েজ কে বোঝানো হয় যার দ্বারা তৈরিকৃত প্রোগ্রাম আপনি আপনার পিসিতে সাধারণভাবে চালাতে পারবেন। যেমন, সি।


ওয়েব প্রোগ্রামিং হল, ওয়েব সাইট ডেভেলপমেন্টে যে প্রোগ্রাম করা হয়। এসব প্রোগ্রামগুলো ওয়েব কেন্দ্রিক। এগুলো সফটওয়্যার তৈরির প্রোগ্রাম নয়। যেমন, পি এইচ পি।


তবে প্রোগ্রাম যাই ই হোক না কেন, যেকোনো প্রোগ্রাম শেখার ক্ষেত্রেই সি এর বেসিক থাকলে প্রোগ্রামিং শেখা আর কঠিন কিছুই নয়।


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



ইন্টারপ্রেটার ও কম্পাইলার


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




উল্লেখ্য কম্পাইলারের মধ্যেই আপনার কাংখিত প্রোগ্রামটি লিখতে হয় চক দিয়ে যেভাবে লিখতে হয় স্লেটে। প্রোগ্রাম লেখার পরে কম্পাইলারকে কমান্ড দিলে তা আপনার লেখা প্রোগ্রামটি কম্পাইল করে বা রান করে।



প্রকার

জটিলতা, সহজবোধ্যতার ভিত্তিতে প্রোগ্রামিং ল্যাংগুয়েজকে তিন ভাগে ভাগ করা যায়।
  • লো লেভেল ল্যাংগুয়েজ
  • মিডল লেভেল ল্যাংগুয়েজ
  • হাই লেভেল ল্যাংগুয়েজ
সি কে সাধারণত হাই লেভেল ল্যাংগুয়েজ বলা হয়ে থাকে।
সি প্রোগ্রামে কাজ করার জন্য অনেক কম্পাইলার আছে। তার মধ্যে বোরল্যান্ড সি, টার্বো সি বিশেষভাবে উল্লেখযোগ্য।

আমি আমার টিউটোরিয়ালে টার্বো সি ব্যবহার করে সি প্রোগ্রাম নিয়ে কাজ করব। আজ এ পর্যন্তই। সবাইকে ধন্যবাদ।

1 টি মন্তব্য: