আমরা এই বর্তমান যুগে কম্পিউটার, মোবাইল, ইন্টারনেট ছাড়া এক পা ও এগিয়ে যেতে পারি না। এই যুগে এসে কম্পিউটার ছাড়া চলার কথা চিন্তাই করা যায় না। আমরা সংখ্যা বলতে ০ ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ এই গুলাকে ই বুঝে থাকি। কিন্তু কম্পিউটার এইগুলা বুঝবে না। কম্পিউটার শুধু মাত্র ০ (শুন্য) আর ১ (এক) ছাড়া আর কিছু ই বুঝে না। প্রোগ্রাম এর কাজ ই হল কম্পিউটারকে যে কোন ইনপুট দিলে কোড বা প্রোগ্রাম আমাদের দেয়া ইনপুট গুলাকে বাইনারি তে (০ আর ১ নিয়ে গঠিত গানিতিক সংখ্যা) রুপান্তর করে কম্পিউটার এর বুঝার উপযোগী করে তুলে। আর কম্পিউটার কে ব্যাবহারকারীর ভাষা বুঝানোর জন্য জন্য যে একক এবং বিশেষ সংকেত ব্যাবহার করা হয় তাই কোড। এই সমগ্র ব্যাপার টা এককথায় প্রোগ্রামিং। আর যিনি এই প্রোগ্রাম গুলা লিখেন বা করেন তাকে বলা হয় প্রোগ্রামার।
বিভিন্ন প্রকার প্রোগ্রামিং ল্যাংগুয়েজঃ(Various Programming Languages)
অনেক প্রোগ্রামিং ভাষা বা ল্যাঙ্গুয়েজ রয়েছে। তাদের মধ্যে...
১) সি ল্যাঙ্গুয়েজ (C)
২) সি++ ল্যাঙ্গুয়েজ (C++)
৩) জাভা (Java)
৪) পার্ল (Perl)
৫) পাইথন (Python)
৬) সি # ডট নেট (C# .NET)
৭) এ এস পি (ASP)
এইগুলা ই জনপ্রিয় এবং সি ল্যাংগুয়েজ টা হচ্ছে প্রোগ্রামিং ল্যাঙ্গুয়েজ এর বেসিক। তাই একে মাদার অভ প্রোগ্রামিং ল্যাঙ্গুয়েজ বলে । কেউ যদি প্রোগ্রামিং শিখতে চায় তবে তাকে সি ল্যাঙ্গুয়েজ দিয়ে শুরু করাটাই ভালো হবে।
সি প্রোগ্রামিং এর শুরুঃ(The History of C Programming)
C Language এর জনক বা Developer হলেন Dennis Ritchie । তিনি ১৯৭০ সালে সি স্ট্রাকচার্ড প্রোগ্রামিং ল্যাঙ্গুয়েজ এর ডেভোলাপ করেছিলেন Bell Telephone Laboratories নামক একটি ল্যাবে।যদিও পরবর্তিতে, প্রায় ১০ বছর পর, ১৯৮০ সালের দিকে সি ল্যাঙ্গুয়েজ এর উন্নত ভার্সন সি++ ল্যাঙ্গুয়েজ, যার ডেভোলাপার Bjarne Stoustrup নামের একজন প্রোগ্রামার। বিস্তারিত লিখলাম না, কারন আমাদের মাথায় প্রোগ্রামিং এর ভুত ঢুকে গেছে। সি++ শেখার জন্য সি শিখাটা একটা চমৎকার বিষয়। অনেক সফটওয়ার সি ল্যাঙ্গুয়েজ এর উপর ভিত্তি করে নির্মিত। কারন, এর Efficiency আর Portability এর জন্য।
আমি কি প্রোগ্রামিং পারব? আমার দ্বারা কি প্রোগ্রামিং সম্ভব?(Can i be a programmer)
কেন নয়? নিজেকেই প্রশ্ন করে দেখ, কেন তুমি পারবে না? কিসের অভাব তুমার ? অন্য সবার মত বিশাল মস্তিস্ক আর পুর্নাঙ্গ শরীর নিয়ে জন্মেছ। আর ব্যাপারটা শুধু শারীরিক দিক থেকে চিন্তা করে লাভ নেই, তাহলে কিছুই শেখা সম্ভব না। মানসিক দিক দিয়ে চিন্তা করে দেখতে হবে।
তোমার যদি একটা কম্পিউটার থাকে, তাহলে তুমিও শিখতে পারবে প্রোগ্রামিং, শুধু একটু ধৈর্য আর সততা প্রয়োজন। বাংলা লেখার চমৎকার সফটওয়ার "অভ্র" এর নাম নিশ্চয়ই শুনেছ...
এটা কে তৈরী করেছিল জানো? একজন মেডিকেলের ছাত্র.........
উপরের ছবিতে যাকে দেখা যাচ্ছে, উনি ড: মেহেদি হাসান, অভ্র সফটওয়ার এর নির্মাতা...
তাহলে চিন্তা কর তো, তুমি কেন পারবে না? কি ভাবছ? হ্যা, তুমি ও পারবে, শুধু নিজেকে বিশ্বাস করতে শিখ, তাহলে ই হবে।
আগে কিছু কথা বলে নেইঃ
প্রোগ্রামিং শিখতে হলে গনিত চর্চা আর উন্নত চিন্তার কোন বিকল্প নেই। তাই, যেখানেই গনিতের কোন সমস্যা পাবে সেটা সমাধানের চেষ্টা করবে। পার আর না পার, সেটা খুব বড় কিছু না, চেষ্টা করতে করতে দেখবে, এক সময় খুব সহজেই বড় কোন সমস্যার সমাধান করে ফেলেছো।
তাহলে শুরু করি সি প্রোগ্রামিংঃ
তাহলে শুরু করি সি প্রোগ্রামিংঃ
হ্যা, এবার শুরু করা যাক, তাহলে আমরা সি প্রোগ্রামিং দিয়ে ই শুরু করি।
প্রাথমিক অবস্থায়, আমাদের দরকার একটি কম্পিউটার আর ইন্টারনেট এর কানেকশন। যেকোন প্রোভাইডারের ইন্টারনেট কানেকশন ব্যাবহার করতে পারো।
শুরু করি,
প্রোগ্রামিং এর জন্য, একটা কম্পাইলার সফটওয়ার এর প্রয়োজন। সাধারনত "Code blocks" সফটওয়ার টি কম্পাইলার হিসেবে ওপেন সোর্স এর বলে এটিই বেশী ব্যাবহার করা হয়। এই ধারাবাহিক টিউটোরিয়াল এর সবগুলো পর্বে যা শিখব তা কোড ব্লকস এ রান করে দেখব আমরা যা শিখেছি, তা ভুল না সঠিক।
Code Blocks সফতটওয়ার টা তোমরা নিচের লিঙ্ক থেকে ডাউনলোড করে নিতে পারো।
Code Blocks : ডাউনলোড(৯৫ এমবি)
প্রথমে কোড ব্লকস টা সেটাপ দিয়ে নাও। সেটাপ শেষ হলে, সফটওয়ার টা রান করাও।
নিচের চিত্রের মতঃ

যদি কারো কোড ব্লকস সেটাপ দিতে সমস্যা হয়, তবে এখানে কমেন্ট করে জানাতে পারো।
কোডব্লকস এ যেভাবে নতুন প্রোগ্রাম লেখা শুরু করতে হয়ঃ
কোড ব্লকস সফটওয়ার টা রান করে Ctrl+Shit+N একসাথে চাপো। তাহলে, নতুন কোড বা প্রোগ্রাম লেখার জন্য নতুন ফাইল তৈরি হবে। প্রতিটা নতুন প্রোগ্রাম লেখার আর আগে নতুন ফাইল ওপেন করে এটাকে সেইভ(Save) করে নিতে ভুল করবে না। তা না হলে কোড করতে যেয়ে বিরক্ত হতে পারো। আশা করি তোমরা সেটা প্রোগ্রাম লেখা শুরু করলে ঠিক ই বুঝে উঠতে পারবে।
যেকোন প্রোগ্রাম এর সাধারন গঠনঃ
যেকোন প্রোগ্রাম এর একটা সাধারন গঠন থাকে, সেটি নিম্নরুপঃ
1
2
3
4
5
6
7
8
| #include <stdio.h> int main() { return 0; } |
নিচের চিত্রে দেখলে ভালো ভাবে বুঝতে পারবেঃ

বলে নেই এই প্রোগ্রাম এর গঠন সম্পর্কে এবং এটি কিভাবে কাজ করেঃ
উপরে দেখো, আমি একটা প্রোগ্রামের সাধরন গঠন দিলাম, এটা সকল প্রোগ্রামের ক্ষেত্রে ই প্রযোজ্য। এখন দেখি কোনটার কিভাবে কাজ করেঃ
i)
1
| #include <stdio.h> |
এটি একটি Header File যা সব সি ল্যাঙ্গুয়েজ প্রোগ্রামে ই থাকে...
আমরা অঙ্ক করার সময় কি করি? নিজেদের প্রয়োজনে কিছু ভেরিয়েবল ধরে নেই। তাই না? মাঝে মধ্যে ই এটা করে থাকি, যেমনঃ
ধরি, রহিমের এর টাকার পরিমান x = ১০ টাকা;
জলিলের টাকার পরিমান y = ২০ টাকা;
তাইতো? নাকি?
এখানে x,y কি? এগুলা একেকটা ভেরিয়াবল। কারন এদের মান কিন্তু পরিবর্তনশীল। আমরা কিন্তু এদের ব্যাবহার অন্যভাবে ও করতে পারি...
ধরি, রহিমের এর টাকার পরিমান x = ১০০০ টাকা;
জলিলের টাকার পরিমান y = ২০০০ টাকা;
তার মানে, যাদের মান পরিবর্তনশীল, তাদেরকে ই ভেরিয়াবল বলে। আর যাদের মান অপরিবর্তনশীল তাদেরকে কনষ্ট্যান্ট(ধ্রুবক) বলে।
একটা প্রোগ্রাম এর ভিতর
Classes, Variables, Identifiers, subroutines নামক অসংখ্য গানিতিক ব্যাবহার আছে। এই গুলো কে আলাদা আলাদা ভাবে চিন্হিত করাই হচ্ছে Header file গুলার কাজ।
1
| #include <stdio.h> |
এর মত আরো অনেক Header file আছে।
কি, বুঝলেন? Header file এর কাজ? আশা করি বুঝতে পেরেছ। না বুজে থাকলে ও সমস্যা নেই, যতই প্রোগ্রামিং এর সাথে বেড়ে উঠবে, আরো অনেক বেশী আগ্রহ বাড়বে আর এই সব বিষয় গুলা নিজ থেকে ই বেশী করে জানার আগ্রহ বাড়লে, নেট সার্চ করে, বই ঘেটে যেভাবে পারো, শেখা শুরু করবে।
এই গেলো হেডার ফাইল এর কাহিনী।
এখন আসি পরের অংশে...
1
2
3
4
5
6
| int main() { return 0; } |
আমরা যা লিখব মানে আমরা যে প্রোগ্রাম লিখব সেটার পুরূ প্রসেসিং তা হবে এর ভিতর। এখানে int main() একটা ফাংশন । একটা প্রোগ্রামে, মেইন ফাংশন একটাই থাকে।
মেইন ফাংশনের ভিতর যাই লেখা হউক না কেনো, কম্পিঊটার, প্রতিটা লাইন চেক করে করে পরের লাইনে যাবে। সব কিছু ঠিক থাকলে কম্পিঊটার প্রোগ্রামারের চাহিদা মত আউটপুট দিবে।
আর
1
| return 0; |
?????
একটা প্রোগ্রাম কে বাগ(এরর) মুক্ত ভাবে চলতে সাহায্য করে। এ নিয়ে বিস্তারিত পরে আলোচনা করা হবে।
প্রথম প্রোগ্রামঃ
হ্যা, যদি আগে কখনো কোনো প্রোগ্রাম না লিখে থাকো, তাহলে এটাই হবে তোমার প্রথম প্রোগ্রাম।
তাহলে চল লিখে ফেলি একটা প্রোগ্রাম।
1
2
3
4
5
6
7
8
| #include <stdio.h> int main() { printf ( "Hello World!" ); return 0; } |
এবার প্রোগ্রাম টা রান করাও(খবর দার, এখান থেকে কপি পেষ্ট করে কোড লিখবে না, তাহলে তুমি নিজে কিছু ই শিখতে পারবে না কপি পেষ্ট ছাড়া, উপরের কোড টা কোড ব্লকস এ নিজে লিখো)। তারপর রান করাও।
কিভাবে প্রোগ্রাম রান করা তে হবে? কিবোর্ডের F9 বাটন টা চাপ দাও। তাহলে ই হবে। প্রোগ্রাম টা রান হবে।
এখন দেখো তো? কি আসলো?
নিচের চিত্রের মত কিনা?

তাহলে, তুমি পেরে গেছো। যদি না পারো, তাহলে বার বার চেষ্ট কর, যতক্ষন না পারবে, চেষ্ট করে যাবে। পারলে মনে মনে নিজেকে একটা বাহবা দিয়ে নিবে। কেমন?
কিছু কথাঃ
উপরের প্রোগ্রামে
i) printf একটা ফাংশন। তবে মেইন ফাংশন নয়। কারন একটা প্রোগ্রামে একটি মাত্র মূল বা মেইন ফাংশন থাকে। printf দ্বারা তুমি যা প্রিন্ট করাতে চাও তা printf ফাংশন এর ডাবল কোটেশন এর ভিতরে লিখতে হবে।
ধর তুমি I love My Country প্রিন্ট করতে চাও। তাহলে এটা কিভাবে লিখতে হবে?
1
| printf ( " " ); |
হুম, ঠিক ই ধরেছ, printf এর ব্রাকেটের ভেতরের কোটেশন এর মধ্যেঃ(নিচে দেখো)
1
| printf ( "I Love My Country" ); |
ii)
1
2
3
4
5
6
| int main() { return 0; } |
মানে মুল ফাংশনের ভেতরে যা লিখা থাকে তারা প্রত্যেকটা একেকটা স্টেটমেণ্ট। প্রতিটা স্টেটমেনট এর পরে ";" (সেমিকোলন) দিতে হবে এবং সেমিকোলন না দিলে কোড বা প্রোগ্রাম এরর বা বাগ দেখাবে।
iii)
1
| return 0; |
এটা অন্যভাবে ও লেখা যায়......তা হলোঃ
1
| return (0); |
আরো কিছু কথাঃ
প্রোগ্রামিং এর শুরু তে যে ভুল গুলা আমরা বেশী করে করি সে গুলা হলঃ
১.
1
| <stdio.h> |
এর জায়গায়
1
| <studio.h> |
অনেকেই লিখে ফেলি
২. মেইন ফাংশন এর নিচে শুরুতে "{" দিলে ও পরে শেষাংশে "}" দিতে ভুলে যাই।
৩.
1
| return 0; |
এর জায়গায় return আর 0 একসাথে
1
| return0; |
লিখে ফেলি।
৪. ষ্টেটমেন্ট এর শেষে ";" (সেমিকোলন) দিতে ভুলে যাই...
৫. scanf এর সময় যেটা scanf করব সেটার আগে & চিনহ দিতে ভুলে যাই...*
* ৫ নাম্বার স্টেপ টা এখন মাথায় না ঢুকালে ও চলবে। আস্তে আস্তে এটাও পাবে।
আজ এতটুকুই। পরের পর্বে থাকচে নতুন কিছু । কোন কিছু বুঝতে সমস্যা হলে কমেন্ট করাটাই শ্রেয়। খুব তাড়াতাড়ি পরের পর্ব গুলা আপডেট করার চেষ্টা করব।
প্রতি মঙ্গলবার এবং শুক্রবার রাতে নতুন পর্ব লেখা হবে টেকটিউন্স এ।
এখানে কিছু কথা বলে নেই। আমি এই পোষ্ট গুলা আমার চেয়ে ছোট বা সমবয়সীদের জন্য লিখেছিলাম, কিন্তু পরে ভাবলাম তাহলে টেকটিউন্স বাসী কি দোষ করল? এই ভেবে এখানে শেয়ার করছি। এখানে অনেক বিজ্ঞ ব্যাক্তি আছেন। এই পোষ্টে আমি শুধু "তুমি, তোমাদের" বলে সম্বোধন করেছি। যারা বয়সে বড়, তারা নিজ দায়িত্ত্বে এই "তুমি, তোমাদের" শব্দটাকে "আপনি, আপনাদের" হিসেবে দেখবেন। প্রোগ্রামিং কন্টেষ্ট আর কোডিং নিয়ে ব্যাস্ত থাকি, তাই প্রতিটা পর্ব এর পুর্বের পর্বের চেয়ে প্রকাশে ২-১ দিন দেরী হরে পারে। আশা করি আপনারা আমাদের সাথে থাকবেন।
ধন্যবাদ সবাইকে।
ধন্যবাদ সবাইকে।
1 Comments
Nice your blog.
ReplyDelete