Monday, September 10, 2012

আসুন C প্রোগ্রামিং শিখি

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

প্রাথমিক প্রস্ততিঃ

আমরা জানি যে কম্পিউটার ০ ও ১ ছাড়া অন্য কোন তথ্য পড়তে ও লিখতে পারে না। তাই আমরা যে সকল প্রোগ্রামিং ল্যাংগুয়েজ লিখবো তা কম্পিউটারের ভাষায় রূপান্তরের জন্য প্রয়োজন Compiler. আমরা যে কোন টেক্সট এডিটর সফটওয়্যার (যেমনঃ Notepad) এ প্রোগ্রাম লিখে তা compler দ্বারা কম্পাইল করতে পারি। কিন্তু আমি আমার এই পোস্টে IDE ব্যাবহার করতেছি। IDE মানে হল Integrated Development Environment. এর মধ্যেই টেক্সট এডিটর ও কম্পাইলার দেওয়া আছে। প্রতিটি প্রোগ্রাম এর জন্য আলাদা আলাদা IDE আছে। যেমন C/C++ প্রগ্রামের জন্য কয়েকটি IDE হলো Turbo C++, Code Blocks, Eclipse, Codlite ইত্যাদি।   আমি এই পোস্টে যে IDE ব্যাবহার করতেছি তার নাম হলো Quincy 2005।

Quincy 2005 পরিচিতি ও ডাউনলোডঃ

এটি খুবই হালকা একটি IDE. এর ব্যাবহার অনেক সোজা। এটি মূলত Code Blocks এর উপর ভিত্তি করে তৈরি করা হয়ছে। তবে Code Blocks এর চেয়ে ব্যাবহার আরও সহজতর করা হয়ছে। এটি মূলত Windows XP র জন্য তৈরী করা হলেও আমার Windows 7 ও Windows 8 এ কোন সমস্যা ছাড়াই চলেছে।
যেহেতু এই টিউটরিয়াল এ আমাই Quincy ব্যাবহার করতেছি তাই আপনারা এটি ডাউনলোড করলে ভাল হই। IDE টি ডাউনলোড করতে এখানে ক্লিক করুন।

Quincy 2005 চালু করা ও প্রথম প্রোগ্রাম লেখা

Start > All Programs > Quincy 2005 থেকে Quincy 2005 চালু করুন। এবার File থেকে New এ ক্লিক করুন অথবা কীবোর্ড এর Ctrl+N চাপুন। নিচের মত উইন্ডো দেখতে পারবেন।
1
এখান থেকে C Source File সিলেক্ট করে OK বাটনে ক্লিক করুন। তাহলে আপনি এরকম উইন্ডো দেখতে পারবেন।
2
এবার File থেকে Save এ ক্লিক করুন অথবা Ctrl+S চাপুন। নতুন আসা Save উইন্ডো থেকে hello world নাম দিয়ে সেভ করুন।
এবার দেখুন মাঝখানে একটি টেক্সট এডিটর দেখা যাচ্ছে। এখানে আপনি নিচে দেওয়া কোডগুলো লিখে ফেলেন। (Copy – Paste করবেন না )
#include <stdio.h>
int main()
{
    printf("Hello World. This is my first C program !!!");
    return 0;
}
ব্যাস! আপনি আপনার জীবনের প্রথম প্রোগ্রাম এতখনে লিখে ফেলেছেন। এখন দেখা দরকার যে প্রোগ্রামটি চালালে কী ঘটবে? তাই প্রগ্রামটি প্রথমে Build / Compile করতে হবে।
3
এজন্য উপরের টুলবার এ দেখুন হাতুড়ীর মতন একটা চিহ্ন আছে। ওটাতে ক্লিক করুন। অথবা কীবোর্ড এর F6 বাটন চাপুন। আপনি যদি সঠিক ভাবে প্রোগ্রামটি লিখেন তাহলে নিচের উইন্ডোর মতন Successful build লেখা দেখতে পারবেন।
4
Close বাটনে ক্লিক করুন। এবার প্রোগ্রামটি চালু করার জন্য Debug মেনু থেকে Run এ ক্লিক করুন অথবা কীবোর্ড এর F9 বাটনটি চাপুন।
 5
ফলাফল স্ক্রীন এ দেখতে পারবেন।
 6
আমরা মূলত  "Hello World. This is my first C program !!!" এই লেখা প্রদর্শন করার জন্য এই প্রোগ্রামটি লিখেছিলাম । এবং আমরা স্ক্রীন এ এই লেখাটি দেখতে পারছি। অর্থাৎ আমাদের প্রথম প্রোগ্রাম সফল ভাবে চলছে। প্রোগ্রাম এর রাজ্যে আপনাকে স্বাগতম। IDE তে ফিরে যাবার জন্য Enter চাপুন। Window টির close বাটনে ক্লিক করে মূল IDE টিও বন্ধ হয়ে যাবে।

প্রোগ্রামটির বিস্তারিত ব্যাখ্যাঃ (সুবিন ভাই এর সাইট থেকে কপি পেস্ট)

প্রথম লাইন ছিল: #include <stdio.h>, এটি কেন লিখেছি একটু পরে বলছি।
দ্বিতীয় লাইন ফাঁকা। দেখতে সুন্দর লাগে তাই।
তৃতীয় লাইন: int main()। এটিকে বলে মেইন ফাংশন। সি প্রোগ্রামগুলো মেইন ফাংশন থেকে কাজ করা শুরু করে,তাই সব প্রোগ্রামে একটি (এবং কেবল একটি) মেইন ফাংশন থাকতে হয়। মেইন ফাংশনের শুরুতে দ্বিতীয় বন্ধনী দিয়ে শুরু করতে হয় আর শেষও করতে হয় একটি দ্বিতীয় বন্ধনী দিয়ে। শেষ করার আগে আমি return 0; লিখেছি,সেটি কেন এখন ব্যাখ্যা না করলেই ভালো হয়, ফাংশন নিয়ে যখন আলাপ করব তখন বলব। তাই আপাতত তোমরা যেকোনো প্রোগ্রামে নিচের অংশটুকু লিখে ফেলবে:
int main()
{
    এখানে কোড থাকবে।
    return 0;
}

প্রোগ্রামের পরের লাইন খেয়াল করো: printf("Hello World. This is my first C program !!!"); এটি একটি স্টেটমেন্ট। এখানে printf() হচ্ছে একটি ফাংশন যার কাজ হচ্ছে স্ক্রিনে কিছু প্রিন্ট করা। ডবল কোটেশন চিহ্নের ভেতরে যা লিখবে তা-ই স্ক্রিনে সে প্রিন্ট করবে। এই ফাংশনটি স্ক্রিনে প্রিন্ট করে কীভাবে সেটি আসলে বলা আছে stdio.h নামে একটি ফাইলে। এই ফাইলগুলোকে বলে হেডার (header) ফাইল (.h হচ্ছে হেডার ফাইলের এক্সটেনশন)। stdio.h ফাইলে স্ট্যান্ডার্ড ইনপুট আর আউটপুট-সংক্রান্ত যাবতীয় ফাংশন লেখা আছে, আমরা কেবল সেগুলো ব্যবহার করব, ফাংশনগুলো কীভাবে কাজ করে সেটি এখন আমাদের জানার দরকার নেই। আর যেহেতু printf() ফাংশন ব্যবহার করেছি, তাই প্রোগ্রামের শুরুতে #include <stdio.h> লিখতে হয়েছে। এই রকম আরও অনেক প্রয়োজনীয় হেডার ফাইল আছে,যার কিছু আমরা পরবর্তী সময়ে কাজের প্রয়োজনে দেখব।
এখন একটি ব্যাপার খেয়াল করো।  printf("Hello World. This is my first C program !!!"); -এর শেষে একটি সেমিকোলন রয়েছে। সি ল্যাঙ্গুয়েজে প্রতিটি স্টেটমেন্টের পরেই একটি সেমিকোলন থাকে। একটি স্টেটমেন্টের কাজ শেষ হলে পরের স্টেটমেন্টের কাজ শুরু হয়। return 0;ও একটি স্টেটমেন্ট, তাই এটিও সেমিকোলন দিয়ে শেষ করতে হয়েছে। শুরুর দিকে অনেকেই সেমিকোলন দিতে ভুলে যায়, তখন কম্পাইল এরর (compile error) হয়। তোমরা একটি সেমিকোলন মুছে দিয়ে কম্পাইল করার চেষ্টা করে দেখতে পারো।
এবারে একটি খুব গুরুত্বপূর্ণ কথা বলে রাখি। তোমরা কোডটি খেয়াল করলে দেখবে যে আমি #include <stdio.h>, int main(), { ও } যেই লাইনে আছে সেটি এডিটরের একেবারে বাঁ দিক থেকে শুরু করেছি। আর printf এবংreturn 0-এর আগে চারটি স্পেস (ফাঁকা জায়গা) দিয়ে নিয়েছি। এটিকে বলে ইনডেন্টেশন (Indentation)। এরকম না করলেও প্রোগ্রামটি চলত এবং তাই অনেকেই ইন্ডেন্টেশনের ব্যাপারটি গুরুত্ব দেয় না এবং ঠিকমতো ইনডেন্টেশন করে না। যেকোনো ভালো অভ্যাসের মতো ইন্ডেন্টেশনের অভ্যাস তৈরি করাটা একটু কঠিন, তবে বিষয়টা কিন্তু দাঁত মাজার মতোই গুরুত্বপূর্ণ। ইনডেন্টেশন করার অভ্যাস ঠিকমতো তৈরি না হলে প্রোগ্রামারদের সহকর্মী বা বসের বকা শুনতে হয়, অনেক জায়গায় তো ইন্টারভিউতেই বাদ পড়ে যেতে হয়। আশা করছি তোমরা ব্যাপারটি বেশ গুরুত্ব সহকারে নেবে। আমি বইয়ের সমস্ত উদাহরণেই যথাযথভাবে ইনডেন্টেশন করার চেষ্টা করব তবে ছাপার সময় একটু এদিক-ওদিক হতে পারে, সেটি তোমরা বুঝে নেবে। ইন্ডেন্টশনের জন্য সাধারণত চারটি স্পেস দেওয়াটাই এখন স্ট্যান্ডার্ড।

প্রোগ্রামিং এর জন্য টিউটরিয়াল কই পাব?

আমার প্রগ্রামিং নিয়ে টিউটরিয়াল এর পোস্ট আপাতত এখানেই শেষ। ভবিষ্যতে লিখব কিনা যানিনা। তাই আপনাদের প্রোগ্রামিং শেখার কয়েকটি ভালো ওয়েবসাইট এর ঠিখানা দিচ্ছি।
বাংলা ভাষায় প্রোগ্রাম সেখার সবচেয়ে ভালো সাইট হল cpbook.subeen.com .এটি মূলত সি প্রোগ্রাম সেখার একটি ওয়েবসাইট। এই ওয়েবসাইট এর সূচীপত্র থেকে অধ্যায় নিরবাচন করে আপনি প্রোগ্রামিং সিখতে পারবে।
এছাড়াও আপনি এই ওয়েবসাইট এ ব্যাখ্যা সহ প্রোগ্রামিং এর জন্য প্রয়োজনীয় কোড পাবেন।

No comments:

Post a Comment