প্রোগ্রামিং এর শুরুটা কিভাবে করা যেতে পারে এবং ইন্টারের জন্য প্রোগ্রামিং এর কতটা দরকার ?

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

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

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

প্রথমেই যদি সাদা মাটা প্রোগ্রামিং দিয়ে শুরু করো তাহলে অনেকেরই বোরিং লাগবে। কিন্তু কি করা যায় বলো প্রোগ্রামিং এমন সাদামাটাই! তোমার যদি মনে হয় একটু রঙ চং প্রোগ্রামিং করি তাহলে অনেক ওয়েবসাইট প্রথমেই তোমাকে প্রোগ্রামিং ধারণা দেবে রংচঙ গেম এর মাধ্যমে। গেম খেলতে তো সবাই মুটামুটি ভালোবাসে(আমি বাদে)। এজন্যে যদি রংচঙ প্রোগ্রামিং দেখতে চাও তাহলে তোমার জন্যে MIT তৈরি করে রেখেছে scratch ( Scratch – Imagine, Program, Share ) নামে একটা চমৎকার ওয়েবসাইট । এটা দিয়ে রঙ চং ভাবে অনেক কিছু করে অনেক মজার মজার প্রোজেক্ট গেম তৈরি করা যায় । কিন্তু আবার শুরুতে scratch ও অনেকের জন্যে হার্ড হয়ে যায়। তাহলে তাদের জন্যে কি করা যায়???!! তাদের জন্যে রয়েছে Blockly Games ( Blockly Games ) নামে আরেকটা চমৎকার গেম। এটা খেলে আগে মজা আনো (যদি প্রোগ্রামিং বোরিং মনে হয়, যদি ইন্টারেস্টিং মনে হয় তাহলে এমনি ই এগুলোতে সময় অপচয় না করে আসল কাজ শুরু করতে পারো ।)

[ Post টা অনেক বড় তাই যদি মনে আসে ভাই এত বড় কেন? পড়তে কষ্ট হয়, তাহলে তুমি যদি শুধু ইন্টার কভার করার জন্যে প্রোগ্রামিং শিখতে চাও তাহলে (১) নং স্টেপ পড়। দুই নং লাগবে না। আর তুমি যদি কন্টিনিউয়াস প্রোগ্রামিং করতে চাও তাহলে (২) নং পড়। এক নং লাগবে না ]

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

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

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

b) a স্টেপ পার করে আসছো মানে তোমার প্রোগ্রামিং ভালো লাগে। এখন কি দিয়ে শুরু করবা? তোমার জন্যে বাংলায় দুইটা চমৎকার বই আছে, একটা তামিম শাহরিয়ার সুবিন এর লেখা “কম্পিউটার প্রোগ্রামিং ১ম খন্ড” আর একটা কামরুজ্জামান নিটন এর লেখা “সবার জন্যে সি প্রোগ্রামিং “। প্রথম বইটা বিগিনার দের জন্যে ভালো, দ্বিতীয় টা আরো ভালো। কিন্তু একটা কারণে অনেকে দ্বিতীয়টা অনেকে পছন্দ করে না সেটা হলো এখানের কোড গুলো টার্বো সি ইউজ করে লেখা। কিন্তু বাংলা ভাষায় একদম আন্তর্জাতিক মানে সম্পূর্ণ সি ল্যাংগুয়েজ এর উপর এই বইটা যা পড়লে আর তেমন কোনো বই দেখা লাগবে না। কিন্তু এটার পিডিএফ নেই তাই কিনতে হবে। কিন্তু প্রথম বইটা ফ্রি পড়তে পারবা তোমরা (কম্পিউটার প্রোগ্রামিং বই) সাইটে গিয়ে । এটায় আগে পড়ে নিতে পারো কারণ এখানে কিভাবে কোডব্লক্স (কোড বা প্রোগ্রাম লেখার জন্যে একটা সফটওয়্যার) ইউজ করবা, ইন্সটল করবা সব দেয়া আছে। সো আগে এটা পড়ে নাও। কেউ ইংরেজি বই দেখতে চাইলে হার্বার্ট শিল্ড এর “C:The complete reference” এবং Deitel & Deitel এর “C How to program” বইটা ভালো। প্রথম বইটার পিডিএফ পাবা না, নীলক্ষেত থেকে কিনতে হবে। দ্বিতীয় বইটা গুগল করলেই পিডি এফ পাবা।

c) বই তো গেল এরপর? তুমি যদি আগের স্টেপ গুলা না বুঝে থাকো তাহলে এক কথায় সুবিন ভাইয়ের বই ডাউনলোড দাও, কোডব্লক্স ইন্সটল করো । কোড ব্লক্স ডাউনলোড করতে পারবে এখান থেকে ( http://sourceforge.net/projects/codeblocks/files/Binaries/17.12/Windows/codeblocks-17.12mingw-setup.exe ) । কিভাবে কোড শুরু করতে হবে তা এই বইয়ে দেয়া আছে। তারপর একটা করে অধ্যায় পড় আর বুঝে বুঝে কোড গুলো কম্পাইল করো। বাস তোমার প্রোগ্রামিং এ হাতেখড়ি হয়ে গেছে ।

এরপর তোমার যদি মনে হয় হায়রে আমার ওই বন্ধু কি কি হাবিজাবি ওয়েবসাইট এ কি জানি করে আর বলে, আমি তো কিছুই পারি না!! অনেক ওয়েবসাইট আছে যেগুলো তে প্রোগ্রামিং এর নানা সমস্যা দেয়া থাকে সেগুলো সলভ করতে হয়। এই সমস্যা গুলো কি ধরনের তা ২ স্টেপ এর পরেই বুঝে যাবা। প্রোগ্রামিং এর মেইন বিষয়ই হলো প্রব্লেম সলভিং সো সি নিয়ে মুটামুটি ধারণা হয়ে গেলে কিংবা শেখার সাথে সাথে প্রব্লেম সলভ করতে হবে। তো কোথায় করবা? বেশি দূরে যাওয়ার দরকার নাই, বাংলাদেশের তৈরি একটা চমৎকার বাংলায় সাইট আছে। ঠিকানা (আপনার প্রোগ্রামিং সহযোগী – জাতীয় ই-শিক্ষা প্ল্যাটফর্ম)। এখানে শেখার পাশাপাশি প্রব্লেম তো আছে সাথে তুমি তোমার কোড কম্পাইল ও করতে পারবা। কি মজা না? একের ভিতর তিন। তুমি আরেকটা কাজও করতে পারো এই হাবি জাবি যদি না বুঝো, কোড ব্লক এ যদি প্রোগ্রাম রান না করে বা চালাতে না জানো তাহলে এই সাইট থেকে ই বিগিনিং করতে পারো। সবই পাবা এখানে।

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

মনে জাগে প্রশ্ন?-

=> মোবাইলে কি প্রোগ্রামিং করা যায়?/ আমার কম্পিউটার নেই, ট্যাব বা মোবাইলে কি প্রোগ্রামিং করতে পারব?

উত্তর হলো হ্যা । মোবাইলে বা ট্যাবে প্রোগ্রামিং করা যায় । আমি অ্যানড্রয়েড মোবাইল এর সিস্টেম টা বর্ননা করব । অ্যান্ডয়েড এ প্রোগ্রামিং করতে হলে কিছু নির্দিষ্ট অ্যাপস ডাউনলোড করতে হবে । এর মধ্যে আমার সবথেকে সহজ মনে হয় C4droid App টি । এটি প্লে স্টোরে কিনতে গেলে টাকা লাগে । কিন্তু এখান থেকে ফ্রি ডাউনলোড করতে পারবে (C4droid – Google Drive) থ্রি মেগাবাইট সাইজের যে দুইটা ফাইল আছে সেখান থেকে যেকোনো একটি ডাউনলোড করে মোবাইল এ ইন্সটল করলেই ওই অ্যাপ টা দিয়ে সি প্রোগ্রামিং করতে পারবে। প্রথমে সেটি ওপেন করলে তোমাকে একটা পপ আপ উইন্ডো দেখাবে যে Do you want to install GCC? তুমি ইয়েস দিবে আর প্লেস্টরে গিয়ে ওটি ইন্সটল করবে । এরপর সি ফর ড্রয়েড অ্যাপে ফিরে এসে , সেখানে তোমার কাংখিত কোড লিখে রান কম্পাইল করলেই হবে । বাস এইতো হয়ে গেলো মোবাইলে প্রোগ্রামিং করা । নিয়মিত প্রাক্টিস করলে যদিও সময় একটু বেশি লাগে কিন্তু বিশ্বাস করো অন্যদের থেকে পিছিয়ে থাকবে না যদি তোমার ডিটারমিনেশন থাকে । আমি এমন মেয়েকে চিনি যে তার জেলায় এন এইচ এস পি সি তে প্রথম হয়েছে মোবাইলে প্রোগ্রামিং করে । তাই সে পারলে তুমি কেন নয়?

=> সি প্রোগ্রামিং পারি, কিংবা প্রোগ্রামিং পারি না , অ্যাপস , গেমস , সফটওয়ার বানাতে চাই , কিভাবে করবো ? কিভাবে আগাবো?

একটা অ্যাপ/গেম কে তুমি একটা বাড়ি এর সাথে তুলনা করো । ধরো তুমি এখন বাড়ি বানাতে চাও । এখন বাড়ি একাই বানাতে চাও অন্য কোনো মিস্ত্রির হেল্প ছাড়া । এজন্যে কি তোমাকে অনেক ধরনের কাজ জানতে হবে না?

ধরো তুমি শুধু রাজ মিস্ত্রির কাজ জানো , কিন্তু রংমিস্ত্রি , ইলেক্টিশিয়ান , কাঠমিস্ত্রি এদের কাজ না জানলে বাড়ি কি একা বানানো শেষ করতে পারবে? বা ওটা শেষ হলেও তাকে কি ওগুলো ছাড়া কেউ বাড়ি বলবে?

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

Leave a Comment