সুপ্রিয় পাঠক, আসসালামু আলাইকুম।
প্রোগ্রামিং নিয়ে বর্তমান পৃথিবীতে কোটি কোটি মানুষের আগ্রহের সীমা নেই। বাংলাদেশেও এর চাহিদা এখন এতটাই বেড়েছে যে বাংলাদেশ সরকার SSC/Intermediate এর পাঠ্য বই এর সিলেবাসে ICT কোর্স টি অন্তরভুক্ত করেছে। প্রোগ্রামিং কি, কেন প্রয়োজন, কারা প্রোগ্রামিং শিখবে এই সমস্ত প্রশ্নের উত্তর নিয়েই আজ এই টিউন শুরু করছি। আশা করছি প্রোগ্রামিং এর ‘প’ জ্ঞ্যান নেই এমন কেউ আমার টিউটোরিয়াল গুলো থেকে বিশাল বিশাল সফটওয়্যার বানিয়ে প্রোগ্রামিং এর গুরু হয়ে ফ্রিলাঞ্চিং শুরু করতে পারবেন।
আজকের আলোচনার বিষয় হলঃ
প্রোগ্রামিং একটা ক্রিয়া বাচক ইংরেজি শব্দ। মূল হল প্রোগ্রাম। প্রোগ্রাম লিখাকে বলে প্রোগ্রামিং আর যে লিখে তাকে বলে প্রোগ্রামার। ছোট বেলায় আমরা শিখেছিলাম কোন কিছু করাকে ক্রিয়া বলে। এখন আমরা শিখব কোন কিছু করাকে প্রোগ্রামিং বলে। যেমন জন্মদিনের প্রোগ্রাম, বিয়ের প্রোগ্রাম,টেলিভিশনের প্রোগ্রাম ইত্যাদি। আবার বন্ধু কে জিজ্ঞাসা করি দোস্ত সামনের ছুটিরদিনে তোর প্রোগ্রাম কি। সুতরাং প্রোগ্রামিং হল এমন কোন কাজ যা আমরা চিন্তা করি আর তারপর সেটাকে বাস্তবায়ন করি। সেটা যতই ছোট বা বড় হোক না কেন।
দৈনন্দিন জীবনে তো আমরা কত কিছু করি। খাই, ঘুমাই, হাঁটি, পড়াশুনা করি, খেলাধুলা করি, টিভি দেখি, গান গাই ইত্যাদিসব ই কি প্রোগ্রামিং? হ্যাঁ। সব ই প্রোগ্রামিং। তার মানে আমরা সবাই প্রোগ্রামার। তাই না? হ্যাঁ বিষয় টি আসলেই তাই। আচ্ছা, খাওয়া, ঘুমান ইত্যাদি প্রোগ্রাম হল কেমন করে? বিষয়টি এমন যে, আপনার ক্ষুধা লেগেছে। আপনি চিন্তা করলেন আপনি এখন খাবেন। খাওয়ারজন্য আপনাকে প্রথমে কি করতে হবে।
ভাত খাওয়ার প্রোগ্রাম
১। ভাত প্লেটে নিবেন।
২। তারপর তরকারি নিবেন।
৩। তারপর মাখাবেন।
৪। তারপর মুখের ভিতর খাবার টি দিবেন।
৫। দাঁত দিয়ে চাবাইবেন।
৬। তারপর গিলবেন।
রেজাল্টঃ আপনি খাচ্ছেন।
তাহলে ভাত খাওয়ার প্রোগ্রাম টি লিখা হয়ে গেল। খেয়াল করুন প্রতিটি স্টেপ এর সমন্বয়ে আপনি আপনার খাওয়া সম্পাদন করলেন। এই প্রতিটি ছোট ছোট স্টেপ হল এক একটি প্রোগ্রাম।
ঘুমানোর প্রোগ্রাম
১। বিছানায় যাবেন।
২। শুয়ে পরবেন।
৩। চোখ বন্ধ করবেন।
রেজাল্টঃ আপনি ঘুমাচ্ছেন।
তাহলে এক কথায় প্রোগ্রাম হল একটা কাজের ক্ষুদ্র ক্ষুদ্র অংশ।
কম্পিউটার কে আদেশ দিয়ে কাজ আদায় করিয়ে নেবার বেপারটি হল কম্পিউটার প্রোগ্রামিং। আর যারা কম্পিউটার কে আদেশ করে কাজ আদায় করে নেবার বেপারটি রপ্ত করেছে,তারা হল কম্পিউটার প্রোগ্রামার।
এখন কথা হল, কম্পিউটার তো একটা যন্ত্র। ওকে দিয়ে কাজ আদায় করব কিভাবে? উত্তর হল কম্পিউটার কে বুঝানোর জন্য যে বিশেষ ভাষা আবিষ্কৃত হয়েছে সেটাই হল প্রোগ্রামিং ভাষা।
এখন আসল কথায় আসি। কম্পিউটার আসলে 0 and 1 ছাড়া কিছুই বুঝে না। এই 0 and 1 কে বলা হয় বাইনারি সংখ্যা। কিন্তু কম্পিউটার 0 and 1 বুঝে কিভাবে? 0 মানে আসলে ইলেক্ট্রিসিটি নাই। 1 মানে ইলেক্ট্রিসিটিআছে। শুধু এই বিষয়টিকে কেন্দ্র করেই কম্পিউটার কে দিয়ে বড় বড় কাজ আদায় করিয়ে নেয়া হয়। প্রোগ্রামিং ভাষার কাজ হল কম্পিউটার কে 0 and 1 চিনিয়ে কাজ আদায় করা।
চলুন একটা যোগের প্রোগ্রাম করি। আপনি কম্পিউটার কে বললেন ২ আর ২ যোগ করলে কত হয়। আপনি কীবোর্ড থেকে ইনপুট দিলেন ২।কম্পিউটার প্রোগ্রাম ২ কে বাইনারিতে কনভার্ট করল এভাবেঃ 10 মানে ২য় বিটে ইলেক্ট্রিসিটি যাবে, ১ম বিটে ইলেক্ট্রিসিটি যাবে না। আরও যোগ করলেন ২। কম্পিউটার আবারো কনভার্ট করল 10. তারপর, 10+10=100 কম্পিউটার শুধু জানে 1+1 করলে 10 হয়। কাজেই Output হিসেবেআপনি পেলেন 100. 100 কে কনভার্ট করে কম্পিউটার আপনাকে দেখাল ৪ হয়। তার মানে আপনি জানলেন ২+২ করলে চার হয়।
010 //decimal value 2
010 //decimal value 2
যোগফল=100 //decimal value 4
একই ভাবে ৮+৫ করলে কত হয়? ৮ এর বাইনারি 1000. ৫ এর বাইনারি 0101.
1000 //decimal value 8
0101 //decimal value 5
যোগফল=1101 //decimal value 13
কম্পিউটার কে এভাবে নির্দেশ দেয়ার জন্য পৃথিবীতে অসংখ্য প্রোগ্রামিং ভাষা আছে। তার মধ্যে খুব ই জনপ্রিয় প্রোগ্রামিং ভাষা হল C, C++, Java, C#, Python, Rubi, Swift ইত্যাদি।
ভাষার সহজবোধ্যতার উপর নির্ভর করে প্রোগ্রামিং ভাষা কে ৩ টি শ্রেণিতে বিভক্ত করা হয়েছে।
যেমনঃ Assembly Language
যেমনঃ C
যেমনঃ C++, C#, Java, Python
এখানে খুব গুরুত্বপূর্ণ একটা বিষয় হল কম্পিউটার হার্ডওয়্যার এবং আপনার দেয়া নির্দেশ এর মধ্যে যোগাযোগ স্থাপন করে অপারেটিং সিস্টেম। প্রোগ্রামিং ভাষা কে 0 and 1 এ চিনিয়ে দেয়ার কাজ টি করে কম্পাইলার অথবা ইন্টারপ্রেটার নামক একটি সফটওয়্যার। তারপর সেটা অপারেটিং সিস্টেম কে জানিয়ে দেয়। অপারেটিং সিস্টেম হার্ডওয়্যার এর সার্কিটে 0 and 1 এর ভোল্টেজ লেভেল অনুযায়ী কাঙ্খিত রেজাল্ট আপনাকে জানিয়ে দেয়। কম্পাইলার এর কাজ মোটামুটি এমনঃ
অনেকেই ভাবছেন আমি তো ভালো গনিত পারি না। আমি তো Arts এ পড়ি। Commerce এ পড়ি। শুনছি Science এর পোলাপান শুধু প্রোগ্রামিং শিখতে পারবে। আপনি যেখানে এই কথা শুনেছেন, ডাহা মিথ্যা কথা শুনেছেন। আপনি যদি 2+2=4 হয়, এটা জানেন, তাহলেই আপনার পক্ষে প্রোগ্রামিং শিখা সম্ভব। প্রোগ্রামিং করার জন্য আপনাকে মোটেই Science এর স্টুডেন্ট হওয়া লাগবে না। এমনকি গনিতবিদ হওয়ার ও কোন দরকার নাই। আপনি প্রোগ্রামিংশিখবেন Smarter way তে কাজ সম্পাদন করার জন্য। যেমন ধরুন আপনি কমার্সের স্টুডেন্ট। আপনি Accounting নিয়ে পড়াশুনা করেছেন।আপনার একটা বিজনেস আছে। আপনি চাচ্ছেন আপনার দৈনন্দিন জীবনের হিসাবের একটা সফটওয়্যার বানাবেন। আপনি যদি প্রোগ্রামিং জনেন, তাহলে নিজের মন মত একটা সফটওয়্যার বানিয়ে নিতে পারবেন। আবার ধরুন আপনি Arts এর স্টুডেন্ট। রাজনীতি করছেন অথবা আইন নিয়ে পড়াশুনা করেছেন। আপনি আপনার Publicity বাড়ানোর জন্য নিজের নামে একটি ওয়েবসাইট তৈরি করে ফেললেন। আপনার ভেলু অন্যদের চেয়ে অনেক বেড়ে গেল।
আপনি কোন প্রোগ্রামিং ভাষা শিখবেন সেটা নির্ভর করবে কোন ভাষা আপনার কাছে সহজ মনে হয়। আপনি যদি প্রোগ্রামিং এর বেসিক জানেন, তবে আপনি যেকোনো সময় যেকোনো প্রোগ্রামিং ভাষা সহজে অল্প সময়ে শিখেযেতে পারবেন। আমি জনপ্রিয় কিছু প্রোগ্রামিং ভাষা নিয়ে আলোচনা করছি।
সি হল Structured Programming Language. Linux, Unix, Windows সহ জনপ্রিয় Operating System এর কার্নেল তৈরিতে সি ভাষাব্যবহার করা হয়েছে। কার্নেল হল Operating System এর প্রান।যা Operating System এবং Hardware এরমধ্যে সরাসরি যোগসূত্র স্থাপন করে। যেকোনো প্রোগ্রামিং সমস্যা সমাধান, আলগরিদম তৈরি এবং সর্বোপরি যেকোনো প্রোগ্রামিং ভাষার বেসিক শিখতে সি এর জুড়ি মেলা ভার।
পাইথন বর্তমানে খুব উল্লেখযোগ্য একটা জায়গা করে নিয়েছে। এটা শিখা অনেক বেশি সহজ। কোড লিখতে হয় কম। Desktop application, Web application সহ নেটওয়ার্ক security তে ভূমিকা রাখছে। রোবটিক্স এবং Artificial Intelligence এ বর্তমানে Python এর ব্যবহার উল্লেখযোগ্য।
Java একটি Object Oriented প্রোগ্রামিং ভাষা। Client side এর Application manage করতে জাভা ভাষায় প্রোগ্রামিং করা হয়। Desktop application, Web application এবং Android application তৈরিতে ব্যবহার করা হয়। আপনি যদি খুব বড় আকারের সফটওয়্যার তৈরি করতে চান এবং চিন্তা করেন আপনার সফটওয়্যার Linux, Ubuntu, Windows সহ সব operating system ব্যবহারকারি গন আপনার সফটওয়্যার ব্যবহার করবে, তাহলে জাভা হবে আপনার প্রথম পছন্দের। banking software গুলো বেশিরভাগ ই জাভা দিয়ে ডেভেলপ করা হয়েছে।
বাংলাদেশের সবচেয়ে জনপ্রিয় প্রোগ্রামিং ভাষা। যেকোন ছোট এবং মাঝারি ধরনের সফটওয়্যার তৈরিতে ব্যবহার করা হয়।সহজে শিখা যায়। এটা সার্ভার সাইড এ প্রোগ্রামিং করতে ব্যবহার করা হয়। জনপ্রিয় সাইট ফেসবুক এবং WordPress PHP দিয়ে ডেভেলপ করা হয়েছে।
মাইক্রোসফট এর তৈরি সবচেয়ে শক্তিশালী প্রোগ্রামিং ভাষা। আপনি যদি Windows এরজন্য সফটওয়্যার বানাতে আগ্রহী থাকেন তবে C#.NET হোক আপনার প্রথম পছন্দের। Windows 7/8/10 এর Operating System C# দিয়ে ডেভেলপ করা হয়েছে। এটি দিয়ে আপনি ডেক্সটপ সফটওয়্যার সহ web applicatioin এবং Windows mobile এর জন্য সফটওয়্যার বানাতে পারবেন। জাভার মত এটিও Object Oriented প্রোগ্রামিং ভাষা। গোটা পৃথিবীতে 52% প্রতিষ্ঠানে Windows Operating system ব্যবহার করা হয়।
আজ এই পর্যন্তই। Next Tutorial এ প্রোগ্রামিং ভাষার সাধারণ Structure নিয়ে আলোচনা করব। এতক্ষন সাথে থাকার জন্য আন্তরিকভাবে ধন্যবাদ। comment করে জানাবেন টিউন টি কেমন লাগলো।
আমি Salman Srabon। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 12 বছর 1 মাস যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 24 টি টিউন ও 49 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 4 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।