আমি মানুষ ! অতি সধারণ একজন মানুষ। সবসময় নিজের ইচ্ছাকে প্রাধান্য দেই, যখন যা ইচ্ছে হয় তাই নিয়েই ব্যস্ত রাখি নিজেকে। নিজেকে একজন ব্লগার হিসেবে দেখার ইচ্ছে, এখনো নিজেকে ব্লগার বলে দাবি করার মতো কিছুই করতে পারিনি। [এ লেখাটি প্রোগ্রামিং নিয়ে যাদের কোনো ধারণা নেই বা খুব সামান্য ধারণা আছে তাদের আগ্রহী করে তোলার একটি ছোট্ট প্রচেষ্টা। ]
কম্পিউটার একটি অসম্ভব ক্ষমতাবান কিন্তু নির্বোধ একটি যন্ত্র।
একটি যন্ত্র ৫০জন সাধারণ মানুষের কাজ একাই করতে পারে কিন্তু ৫০টি যন্ত্র একটি অসাধারণ মানুষের কাজ করতে পারেনা(Hubbard, Elbert)। প্রোগ্রামিং শিখে আমরা একেকজন হয়ে উঠতে পারি সেই মানুষটি যে এই যন্ত্রকে ইচ্ছামত কথা শোনাতে পারে। আপনি যা বলবেন যেভাবে কম্পিউটার তাই করবে, এটাই হলো সোজা কথায় প্রোগ্রামিং। হয়তো বলতে পারেন এখনইতো কম্পিউটার সেটা করে, আমি গান শুনাতে বললে সে শুনিয়ে দেয়, আমি গেম খেলতে চাইলে সে আমার সাথে খেলতে শুরু করে। কিন্তু আসল ব্যাপারটা হলো একজন প্রোগ্রামার আগেই কম্পিউটারকে বলে রেখেছে যে আপনি গান শুনতে চাইলে সে যেন শুনিয়ে দেয়।
সে যদি বলে রাখতো গেম খেলতে চাইলে পড়তে বসার উপদেশ দিতে তাহলে কম্পিউটার তাই করতো, আপনার কিছু করার থাকতোনা। প্রোগ্রামার হলো সে যার কথায় কম্পিউটার উঠা-বসা করে। দারুণ একটা ব্যাপার এটা, তাইনা?
কিন্তু আপনি কেন প্রোগ্রামিং শিখবেন? বড় বড় কথা বলার আগে সবথেকে প্রথম কারণ আমি বলবো “প্রোগ্রামিং দারুণ মজার একটি জিনিস!”। কম্পিউটারের সাথে অন্য যন্ত্রের বড় পার্থক্য হলো এটা দিয়ে কতরকমের কাজ করানো যায় তার সীমা নেই বললে খুব একটা ভুল হবেনা। তাই প্রোগ্রামিং জানলে যে কতকিছু করা যায় তার তালিকা করতে বসলে শেষ করা কঠিন।
আপনি দিনের পর দিন প্রোগ্রামিং করেও দেখবেন জিনিসটা বোরিং হচ্ছেনা, প্রায় প্রতিদিনই নতুন মজার কিছু শিখছেন, নতুন নতুন টেকনোলজী আবিষ্কারের সাথে সাথে আপনি আরো অনেক রকম কাজ করতে পারছেন অথবা আপনিই করছেন নতুন আবিষ্কার! আজ হয়তো জটিল কোনো সমীকরণ সমাধান করার জন্য ফাংশন লিখছেন, কাল এসব ভালো লাগছেনা বলে লাল-নীল রঙ দিয়ে একটি অ্যানিমেশন বানাতে বসে গেলেন, আপনার সৃষ্টিশীলতার সবটুকুই কাজে লাগাতে পারবেন প্রোগ্রামিং এর জগতে। যে জীবনে প্রোগ্রামিং শিখলোনা সে যে কি মিস করলো কখনোই কল্পনা করতে পারবেনা।
ছবি: শাহরিয়ার মঞ্জুর, বিশ্বের সবচেয়ে সম্মানজনক প্রোগ্রামিং প্রতিযোগীতার বাংলাদেশি জাজ
একটি স্কুল-কলেজ পড়ুয়া ছেলেমেয়ে কম্পিউটার বা মোবাইল দিয়ে কি করে? রাশিয়া-চীনের ছেলেমেয়েরা অনেকেই হয়তো অ্যাসেম্বলিতে কোড লিখে, কিন্তু জরিপ না করেও বলা যায় আমাদের দেশে বেশির ভাগই মুভি দেখা, ফেসবুক , গেমস ছাড়া খুব বেশি কিছু করেনা। আসলে কম্পিউটার দিয়ে কি করা যায় তার ধারণাও অনেকের নাই। ছেলে বা মেয়েটিকে প্রোগ্রামিং শিখিয়ে দেয়া হলে তার জগৎটাই পাল্টে যাবে।
সে তখন সারাদিন গেমস না খেলে হয়তো একটি গেমস বানিয়ে ফেলবে। আমি বাংলাদেশেরই কিছু স্কুল-কলেজ পড়ুয়া প্রোগ্রামারদের জানি যারা বাংলা কিবোর্ড নিয়ে কাজ করে, ওপেন সোর্স কমিউনিটিতে অবদান রাখে। প্রোগ্রামিং জানলে আপনি বুঝতে পারবেন কম্পিউটার শুধু বিনোদনের যন্ত্র নয়, কম্পিউটার তৈরা করা হয়েছিল এর ক্ষমতাকে ব্যবহার করে বড় বড় গবেষণা,হিসাব করার জন্য, আপনি যদি গবেষণা নাও করেন অন্তত এই ক্ষমতাটা ব্যবহার শিখবেন, সৃষ্টিশীল অনেক কাজ করতে পারবেন। কম্পিউটারের জগতে অসাধারণ কিছু অগ্রগতি হয়েছে খুব কম বয়েসী প্রোগ্রামারদের দিয়ে, বিল গেটস স্কুলে থাকতেই চমকে দেয়ার মত কিছু প্রোগ্রাম লিখেছিলেন, প্রোগ্রামিং কনটেস্টে হাইরেটেড কোডারদের অনেকেই স্কুল-কলেজ এখনও শেষ করেনি।
ছবি: মেহেদি হাসান, তৈরি করেছেন আমাদের সবার প্রিয় অভ্র কিবোর্ড, তিনি মেডিকেলের একজন ছাত্র
প্রোগ্রামিং করা মানে আনন্দের সাথে শেখা।
এই শেখাটা খালি কম্পিউটারের মধ্য সীমাবদ্ধ না, অধিকাংশ ভালো প্রোগ্রামারদের খুবই ভালো গাণিতিক এবং লজিকাল জ্ঞান থাকে। দাবা খেলার মতোই প্রোগ্রামিং পুরোটাই লজিকের খেলা, কোন কাজের পর কোনটা করলে কি হবে, কিভাবে করলে আরো দ্রুত ফলাফল আসবে এইসব নিয়ে চিন্তা করতে করতে মস্তিষ্কের লজিকাল সেক্টরটা ডেভেলপ করে। আমার মতে চিন্তা করার মত আনন্দের এবং গুরুত্বপূর্ণ কাজ ২য়টি নেই। বিশেষ করে কম বয়সে প্রোগ্রামিং শিখালে সে চিন্তাশক্তি বৃদ্ধির যেই সুফলটা পাবে সেটা সারাজীবন কাজে লাগবে, সে যদি প্রোগ্রামিং পরে ছেড়েও দেয় তারপরেও চিন্তা করার ক্ষমতাটা থেকে যাবে।
প্রোগ্রামিং কি শুধু কম্পিউটার সাইন্স যারা পড়ে বা পড়তে চায় তারা শিখবে? সেটার কোনো যুক্তি নেই, আপনি যেই বিষয় নিয়েই পড়ছেন বা পড়তে চান, প্রোগ্রামিং আপনি আনন্দের জন্যই শিখতে পারেন এবং চাইলে আপনার কাজেও লাগাতে পারেন।
আপনি বিজ্ঞানের যেকোনো বিষয়ে লেখাপড়া করলেতো কথাই নেই, আপনার গবেষণায় প্রতি মূহুর্তে কম্পিউটার লাগবে, আপনি বিজনেস, আর্টস পড়লেও প্রোগ্রামিং কাজে লাগবে। আপনি কোম্পানির জন্য দারুণ একটি ওয়েবসাইট বানাতে পারেন, একটি সফটওয়্যার বানাতে পারেন যেটা যেসব কাজ বোরিং সেগুলো স্বয়ংক্রিয় ভাবে করে দিবে! আমি অনেক সময় ছোটো-খাটো কিন্তু বোরিং কাজ করার সময় চট করে একটা স্ক্রিপ্ট লিখে ফেলি, তারপর সেটাকে কাজ করতে দিয়ে ঘুম দেই!
প্রোগ্রামিং শেখা কি খুব কঠিন? উত্তর হলো হ্যা,যদি আপনার আগ্রহ না থাকে এবং কেও আপনাকে জোর করে শেখায়। যদি একবার মজা পেয়ে যান তাহলে এরপর কারো শেখানো লাগবেনা, নিজেই সব শিখে ফেলতে পারো। আমার উপদেশ হবে ২-৩ সপ্তাহ প্রোগ্রামিং করার পর যদি আপনার ভালো না লাগে তাহলে জোর করে করার দরকার নাই, এটা আপনার জন্য না, অন্য যেটা ভালো লাগে সেই কাজ করেন। যদি একবার ভালো লাগে বাজী ধরে বলতে পারি কোড লিখতে লিখতে আপনি প্রায়ই খাবার কথাও ভুলে যাবেন।
যেকোন কাজের জন্যই সবথেকে গুরুত্বপূর্ণ ব্যাপার হলো ভালো লাগা, যেটা ভালো লাগেনা সেটা করার কোনো অর্থ আমি দেখিনা কারণ দুইদিন পর যা শিখসি সব ভুলে যাবো।
শুরু কিভাবে করবেন? আপনার যদি ইন্টারনেট কানেকশন থাকে তাহলে কথাই নেই, ইন্টারনেটে অসংখ্য টিউটোরিয়াল আছে। ইংরেজীর পাশাপাশী বাংলা কিছু ভালো রিসোর্সও আপনি পাবেন। যেমন শ্রদ্ধেয় রাগিব হাসানের shikkhok.com ওয়েবসাইট বা ফাহিম ভাইয়ের পাইথন সাইট । এছাড়া খান একাডেমিতেও প্রোগ্রামিং এর ভিডিও আছে, বরাবরের মতই খুবই সুন্দর করে বুঝিয়েছেন সালমান খান।
ইন্টারনেট না থাকলে আপনাকে বই জোগাড় করতে হবে, ব্যাক্তিগত ভাবে বিগিনারদের জন্য আমি ইন্টারনেটের থেকে বইকেই বেশি গুরুত্ব দিবো। প্রোগ্রামিং এর বইয়ের অভাব নেই দোকানে, তামিম শাহরিয়ার সুবিন ভাইয়ের একটি দারুণ বাংলা বই আছে। তবে একটা ব্যাপারে সতর্ক থাকবেন “৭দিনে প্রোগ্রামিং শেখা” এই ধরণের চটকদার বইয়ের বা সাইটের ধারেকাছে যাবেন না, এগুলো সবকিছু ঝাপসা ভাবে শেখাবে, হার্ভার্ড শিল্ডের বইয়ের মত নামকরা এবং ভালো বই দেখে শিখেন, বেসিক জিনিসগুলো পরিষ্কার হবে। এছাড়া লাগবে প্রোগ্রামিং এর জন্য কিছু সফটওয়্যার, এগুলোও সহজেই জোগাড় করতে পারবেন। এরপর শুরু করে দিন কোড লেখা!! প্রথম ২ সপ্তাহ আপনার বেশ ঝামেলা লাগবে কারণ বিষয়টা নতুন, একটু পরপর আটকে যাবে, তারপর হঠাৎ দেখবেন সবকিছু সহজ হয়ে গিয়েছে, মূহুর্তের মধ্যেই ১০০ লাইনের কোড লিখে ফেলেছো।
প্রোগ্রামিং শেখার প্রধান শর্ত হলো হাল ছাড়া যাবেনা। প্রথম দিকে কোনো কোড কপি পেস্ট করবেনা, নিজের হাতে লিখবেন।
চাকরী-ক্যারিয়ার নিয়ে সবার মধ্যেই অনেক টেনশন থাকে। আনন্দের জন্য প্রোগ্রামিং শিখলেও এটা আপনার ক্যারিয়ারে খুবই গুরুত্বপূর্ণ। আপনি প্রোগ্রামিং জানলে নিশ্চিত থাকতে পারেন কাজের কোনো অভাব জীবনে হবেনা।
আপনি কোনো চাকরী না করেও ফ্রি-ল্যান্স কাজ করতে পারবেন, এমনকি ছোটোখাট একটা কোম্পানিও খুলে বসতে পারবেন। আমি আশেপাশে অনেককে দেখেছি কয়েক বন্ধু মিলে একটি ছোট কোম্পানি খুলে স্বাধীনভাবে কাজ করে, কি দারুণ একটা ব্যাপার! প্রোগ্রামিং জানার আরেকটি দারুণ ব্যাপার হলো আপনি ভালো কোনো কাজ করলে খুব সহজেই সারা বিশ্ব জেনে যাবে। পৃথিবীর আরেক প্রান্তের মানুষ আপনার বানানো সফটওয়্যার দিয়ে গান শুনবে, আপনার অপারেটিং সিস্টেম বুট করবে, আবার পিসি হ্যাং করলে হয়তো আপনাকেই গালি দিবে!! গুগলের মতো কোম্পানিতে কাজ করতে চাইলে আপনার কিছু করতে হবেনা, আপনার কাজের খ্যাতিতে তারাই আপনাকে এসে অফার দিবে। তবে প্রোগ্রামিং শেখার উদ্দেশ্য কখনোই গুগলে চাকরী বা খ্যাতি অর্জন হওয়া উচিত নয়, শিখবেন আনন্দের জন্য, জানার জন্য।
সি বা জাভার মতো প্রোগ্রামিং ল্যাংগুয়েজ শেখা মানেই কিন্তু আপনি প্রোগ্রামিং শিখে ফেলেননি।
ল্যাংগুয়েজ শেখা খুব সহজ কাজ, প্রথমে একটু কষ্ট করে শিখে ফেললে এরপর যেকোনো ল্যাংগুয়েজ শেখা যায়। আপনাকে খুবই ভালো লজিক ডেভেলপ করতে হবে, অ্যালগোরিদম আর ডাটা স্ট্রাকচার নিয়ে পড়ালেখা করতে হবে, গণিত জানতে হবে, তাহলেই আপনি একজন ভালো প্রোগ্রামার হয়ে উঠবেন। তবে ভয়ের কিছু নেই, সবই আপনি ধীরে ধীরে শিখে ফেলতে পারবেন, শুধু লাগবে চেষ্টা আর সময়। এটা আশা করবেনা যে ৬ মাসে আপনি অনেক ভালো প্রোগ্রামার হয়ে যাবেন তবে লেগে থাকলে ২-৩ বছরে অবশ্যই মোটামুটি ভালো একটা লেভেলে আপনি পৌছাতে পারবেন।
আপনি যদি কম্পিউটার সাইন্সের স্টুডেন্ট হন তাহলে এইসব কথাই আপনি হয়তো জানেন, শুধু বলবো প্রোগ্রামিং কে আর ৫টা সাবজেক্টের মতো ভাববেন না, খালি সিজিপিএ বাড়াতে কোডিং শিখলে আপনার মতো অভাগা কেও নাই, প্রোগ্রামিং উপভোগ করার চেষ্টা করেন, জানার আনন্দে শিখেন।
আমার স্বপ্ন আমাদের দেশে একটা চিন্তা করার সংস্কৃতি তৈরি হবে। মানুষ একে অন্যের ব্যক্তিগত ব্যাপারে মাথা ঘামাবেনা, বরং মাথা ঘামাবে গাণিতিক সমস্যা নিয়ে, পাজল নিয়ে, অ্যালগোরিদম নিয়ে। ছেলেমেয়েরা তাদের মেধা গেমস খেলার কাজে না লাগিয়ে কাজে লাগাবে পৃথিবীর উন্নয়নে। বই পড়া, গণিত চর্চা করার পাশাপাশি প্রোগ্রামিং শিখা এই সংস্কৃতি শুরু করতে বিশাল একটি ভুমিকা রাখতে পারে। আমি মনে করি বর্তমান যুগে প্রোগ্রামিং শেখাটা অন্য যেকোন বিষয় শেখার মতই গুরুত্বপূর্ণ, কারণ আমাদের সব কাজে কম্পিউটার লাগে।
তাই আপনার আশেপাশের ছেলেমেয়েদের গেমস খেলতে দেখলে তাদের প্রোগ্রামিং সম্পর্কে জানান, উৎসাহিত করেন, অবশ্যই জোর করে শেখানোর কোনো মানে হয়না, যার ভালো লাগবে সে শিখবে তবে সবাই অন্তত জানুক প্রোগ্রামিং কি, এছাড়া কিভাবে শেখার জন্য উৎসাহিত হবে? অনেকেই ইউনিভার্সিটিতে আসার আগে জানেনা প্রোগ্রামিং বলে একটা বস্তু আছে! আর আপনারা প্রোগ্রামিং জানলে অন্যদেরও শিখতে সাহায্য করবেন, এভাবেই পরিবর্তন একসময় আসবেই, সবাই লজিক দিয়ে ভাবতে শিখবেন, চিন্তা করার সংস্কৃতি তৈরি হবে।
ছবি: lightoj, ঢাকা বিশ্ববিদ্যালয়ের জানে আলম জানের তৈরি করা অনলাইন জাজ যেখানে প্রবলেম সলভ করে সারা পৃথিবীর কোডাররা
মূল লেখাঃ শাফায়েত ভাইয়ার
বিঃদ্রঃ লেখাটা ভালো লেগেছে এবং আমার মনের কথা গুলো শাফায়েত ভাইয়ার লেখাতে চলে আসছে । তাই সবার সাথে শেয়ার করলাম। আশা করি কোডিং এর দুনিয়াই আরো কিছু নতুন মানুষের দেখা পাবো। কি আসছেন তো? ।
অনলাইনে ছড়িয়ে ছিটিয়ে থাকা কথা গুলোকেই সহজে জানবার সুবিধার জন্য একত্রিত করে আমাদের কথা । এখানে সংগৃহিত কথা গুলোর সত্ব (copyright) সম্পূর্ণভাবে সোর্স সাইটের লেখকের এবং আমাদের কথাতে প্রতিটা কথাতেই সোর্স সাইটের রেফারেন্স লিংক উধৃত আছে ।