কম্পিউটার প্রোগ্রামিং সম্পর্কে আপনাদের নিশ্চয় কম-বেশী ধারণা আছে। নির্দিষ্ট এক বা একাধিক কাজ করার জন্য কম্পিউটারকে বিভিন্ন নির্দেশনাবলি দেওয়া ই হচ্ছে কম্পিউটার প্রোগ্রামিং। আর এই কম্পিউটার প্রোগ্রামিং এর একটি জনপ্রিয় বিভাগ হচ্ছে সি-প্রোগ্রামিং।
সি-প্রোগ্রামিং? সেটা আবার কি?
সি ভাষা ব্যবহার করে প্রোগ্রামিং করাকেই সি-প্রোগ্রামিং বলে।
প্রোগ্রামিং এর এই আর্টিকেলে আমি আপনাদের সাথে আলোচনা করবো- সি-প্রোগ্রামিং কি, সি-প্রোগ্রামিং কেন শিখব, এটা শিখে কি লাভ, কিভাবে শিখব, এটা শিখতে কত সময় লাগে, এমন কিছু সি-প্রোগ্রামিং সম্পর্কিত প্রশ্ন নিয়ে। আর সাথেই থাকছে কয়েকটি কোর্সের সাজেশন যা থেকে আপনারা সহজেই ঘরে বসে সি-প্রোগ্রামিং শিখতে পারবেন। তাই সি-প্রোগ্রামিং সম্পর্কে বিস্তারত জানতে সম্পূর্ণ আর্টিকেলটি পড়ুন।
সি-প্রোগ্রামিং|| What is C-programming
প্রোগ্রামিং এ নতুনদের হয়ত মনে হতে পারে “সি-প্রোগ্রামিং প্রোগ্রামিং এর অন্য কোনো একটা পদ্ধতি হয়ত। আমরা যে কোডিং এর মাধ্যমে প্রোগ্রামিং করি এটা মনে হয় এর থেকে ভিন্ন কিছু।”
আসলে তা না। সি-প্রোগ্রামিং সাধারণ প্রোগ্রামিংই।
প্রোগ্রামিং এর আমার আগের আর্টিকেলটিতে আপনারা জেনেছেন যে কম্পিউটার মানুষের ভাষা বুঝতে পারেনা। এর নিজস্ব ভাষা আছে যা প্রোগ্রামিং ল্যাঙ্গুয়েজ (Programming language) বা প্রোগ্রামিং ভাষা নামে পরিচিত। সি তেমনি একটি ভাষা। এটি হচ্ছে উচ্চতরের একটি জনপ্রিয় প্রোগ্রামিং ভাষা। অর্থাৎ এটি একটি পদ্ধতিগত প্রোগ্রামিং ল্যাংগুয়েজ।
এই সি ভাষা (C Language) ব্যাবহার করে প্রোগ্রামিং করাই হচ্ছে সি-প্রোগ্রামিং।
১৯৭০ সালে ডেনিস রিচি নামক কম্পিউটার বিজ্ঞানী মার্কিন যুক্তরাষ্ট্রের AT&T এর বেল ল্যাবরেটরিতে সি ভাষা উদ্ভাবন করেন। প্রোগ্রামিং এর এই ভাষা ব্যবহার করে সবধরণের প্রোগ্রাম রচনা করা যায়। এটি একটি পদ্ধতিগত প্রোগ্রাম ভাষা (Procedural language) । C নামটি এসেছে মার্টিন রিচার্ডস এর উদ্ভাবিত BCPL ভাষা থেকে, যা প্রথমদিকে ক্যামব্রিজ বিশ্ববিদ্যালয়ে গবেষণা ভিত্তিক কাজে ব্যবহৃত হতো।
সি একটি শক্তিশালী প্রোগ্রামিং ভাষা হিসেবে বর্তমানে বেশ পরিচিত। এটি দিয়ে তৈরি কয়েকটি সফটওয়্যার হচ্ছে অপারেটিং সিস্টেম, অ্যাসেম্বলার,ডিভাইস ড্রাইভার, ডাটাবেজ ম্যানেজমেন্ট ইত্যাদি। সি-প্রোগ্রামিং ভাষার কিছু সাধারণ বৈশিষ্ট্য আছে যেমন,
- এটি দিয়ে সব ধরণের সমস্যার সমাধান করা যায়।
- মেইন ফাংশন নামে একটি ফাংশন অবশ্যই থাকতে হয় যা দ্বারা প্রোগ্রাম শুরু হয়।
- এটি মধ্য স্তরের ভাষা। কিন্তু এর সাহায্যে সহজেই উচ্চস্তরের ভাষা ও নিম্ন স্তরের ভাষার মধ্যে সমন্বয় করা যায়।
- এ ভাষা দিয়ে লিখিত একটি মেশিনের প্রোগ্রাম অন্য একটি মেশিনে চালানো যায়।
- ভাষার প্রয়োজনে if, while, for,switch-case ইত্যাদি কন্ট্রোল স্টেটমেন্ট ব্যবহার করা হয়।
- এতে Statement গুলোকে দ্বিতীয় বন্ধনীর মাঝে রাখতে হয়। এবং প্রতিটি Statement এর শেষে সেমিকোলন দিতে হয়।
- এ ভাষার ক্ষেত্রে লাইব্রেরি ফাংশনের header ফাইলগুলো ঠিকমতো declare করতে হয়।
- সব প্রোগ্রাম ছোট হাতের অক্ষরে লিখতে হয় এবং এতে স্পেস অগ্রাহ্য করে।
এখন আপনি যদি বলেন, “সি-প্রোগ্রামিং কেন শিখবো? অন্য কোনো প্রোগ্রামিং ল্যাঙ্গুয়েজ শিখলেই তো হয়।”
হ্যা। আপনাকে সি ই শিখতে হবে এমন কোনো কথা নেই। আপনি চাইলে অন্য যেকোনো ল্যাঙ্গুয়েজ শিখতে পারেন।
ধরুন আপনি স্পেনিশ, ইটালিয়ান, ফ্রেঞ্চ বা পর্তুগিজ ভাষা শিখতে চান। এজন্য আপনি যদি আগে ল্যাটিন ভাষা শিখে নেন তাহলে আপনার কাছে এসকল ভাষা বোঝা সহজ হবে। কারন ল্যাটিন থেকেই এসকল ভাষার উৎপত্তি। প্রোগ্রামিং এর ক্ষেত্রেও ব্যাপারটা তেমন। সি ভাষা শিখলে প্রোগ্রামিং এর অন্যান্য ভাষা শেখা আপনার জন্য অনেক বেশি সহজ হয়ে যাবে।
সি হচ্ছে সবচেয়ে সহজ এবং এর আছে বহুমুখী ব্যবহার। আপনি চাইলেই ডিসেন্ট মানের সফটওয়্যার বানাতে পারবেন সি দিয়ে। তবে সি সবচেয়ে বেশি ব্যবহৃত হয় মাইক্রোকন্ট্রোলার রিলেটেড কাজে। আপনি ভবিষ্যতে কখনো রোবট বানাতে চান সেক্ষেত্রে সি হচ্ছে সবচেয়ে ভালো মাধ্যম।
স্ট্যান্ডার্ড সি-ল্যাঙ্গুয়েজ || Standard C language
আগেই বলেছি সি একটি শক্তিশালি প্রোগ্রামিং ভাষা যার দ্বারা সবধরণের সমস্যার সমাধান করা যায়। এজন্য এটি আবিষ্কারের পর পরই দ্রুত জনপ্রিয়তা পায় এবং বিভিন্ন প্রতিষ্ঠান তাদের নিজেস্ব সি ভাষা তৈরি করতে থাকে। বিভিন্ন প্রতিষ্ঠানের ভাষাতে তুলনামূলক পার্থক্য থাকার কারণে প্রোগ্রামাররা বিভিন্ন সমস্যার সম্মুখীন হয়।
এ কারণে ১৯৮৩ সালে American National Standards Institute (ANSI) একটি কমিটি (ANSI Committee X3J”) গঠন করেন। এ কমিটি সি-এর একটি আদর্শমান নির্ধারণ করেন এবং ১৯৮৮ সালে এই ANSI Standard তৈরি সম্পূর্ণ হয়।
বর্তমানে Turbo C, Microsoft C, Borland C ইত্যাদি বিভিন্ন ধরণের সি-কম্পাইলার তৈরি হয়েছে যা ANSI C Standard অনুযায়ী তৈরি।
সি-প্রোগ্রামিং কিভাবে শিখব
সি-প্রোগ্রামিং শেখার কথা ভাবছেন? “কিভাবে শিখবো” প্রশ্নটি নিশ্চয় মাথায় এসেছে?
প্রোগ্রামিং ভাষা শেখার জন্য প্রথমেই আপনার যেটা প্রয়োজন তা হচ্ছে ‘ধৈর্য্য’। প্রোগ্রামিং ভাষাগুলোও কিছুটা আমাদের কথা বলার ভাষার মতই। এখন ধরুন আপনি ইংরেজি শিখবেন। একদম নতুন একটা ভাষা এটা আপনার জন্য। তো এর জন্য প্রথমেই আপনাকে এই ভাষার ব্যাসিক জানতে হবে অর্থাৎ ইংরেজি অক্ষর। তারপর শব্দ ও অর্থ, উচ্চারণ, গ্রামার ইত্যাদি শিখতে হবে।
সি-প্রোগ্রামিং শিখতে হলেও আপনাকে প্রথমে প্রোগ্রামিং এর ব্যাসিক জানতে হবে। এটা শেখা তুলনামূলক সহজ কারণ এর সিন্ট্যাক্সে মাত্র ৩২ টি কিওয়ার্ড আছে। সিনট্যাক্স হল নিয়মের সেট যা বিভিন্ন চিহ্নের সংমিশ্রণ বলতে কী বোঝায় তা সংজ্ঞায়িত করে। এটি কম্পিউটারকে বলে দেয় কীভাবে একটি কোড পড়তে হবে।
এই সিনট্যাক্স মুখস্ত করতে হয়। এর জন্য আপনি চাইলেই একটি সি ভাষার বই কিনে সিন্ট্যাক্স মুখস্ত করতে পারেন।
এক্ষেত্রে কম্পিউটার মেমরি ক্রিয়াকৌশল সম্পর্কে জ্ঞান থাকা অপরিহার্য কারণ সি প্রোগ্রামিং ভাষা নিয়ে কাজ করার সময় এটি একটি গুরুত্বপূর্ণ দিক। আপনি হয়ত অনলাইনে সি প্রোগ্রামিং শেখার জন্য অনেক ভিডিও পাবেন তবে আমার মতে প্রোগ্রামিং নিজে নিজে শেখার থেকে কারো ইন্সট্রাকশনে শেখাটা বেশি ভালো। এতে জিনিসটা অনেক সহজ হয়।
এখন আপনি হয়ত জানতে চান, সি-প্রোগ্রামিং শিখতে কতদিন সময় লাগবে?
দেখুন একেক জনের মস্তিষ্কের ধারণ ক্ষমতা একেক রকম। সে হিসেবে একেক জনের এই ভাষাটা শিখতে একেক রকম সময় লাগবে। সাধারণত একটি প্রোগ্রামিং ভাষার সিন্ট্যাক্স মুখস্ত করতে ৬-৭ মাস সময় লাগে যদি কেউ প্রতিদিন ৪/৫ ঘণ্টা মনোযোগ দিয়ে এটি চর্চা করে।
প্রিয় পাঠক,
আশা করি সি-প্রোগ্রামিং এর এই আর্টিকেলটি আপনাদের ভালো লেগেছে। ফ্রিল্যান্সিং ও কারিয়ার সম্পর্কিত আরো বিভিন্ন বিষয় জানতে আমাদের অন্যান্য আর্টিকেলগুলো পড়তে পারেন।
ধন্যবাদ সাথে থাকার জন্য।