আমি নিজে এখনো নুব প্রোগ্রামার দেখেই সম্ভবত প্রায় সময় অনেককে পাই, যারা ভাল প্রোগ্রামিং শিখতে চায়, কিন্তু “পারছে না”। তাদের নানান সমস্যা, প্রশ্ন।

কিভাবে প্রোগ্রামিং এ ভাল হওয়া যায়?
ওমুক কনসেপ্টটা বুঝছিনা, একটু বুঝিয়ে দিবা? কোড লিখেছি কিন্তু কম্পাইল হয়না কেন বুঝিনা। আমার লজিক ঠিকাছে, প্রোগ্রাম ও রান হয় কিন্তু রেসাল্ট ঠিকমত আসেনা। … …

এ ধরনের ঝাপসা প্রশ্ন থেকে শুরু করে অনেক স্পেসিফিক প্রশ্ন যেমন,

একটা মেইন ক্লাস থেকে দুটো ক্লাস ইনহেরিট করে আবার আরেকটা ক্লাসে সেই দুটো ক্লাসকে ইনহেরিট করলে প্রোগ্রাম রান হচ্ছেনা কেন?

এসব প্রশ্নের উত্তরে আমার মুখে সবার প্রথমেই যেটা আসে সেটা হলোঃ গুগল করে দেখেছেন কি?

প্রোগ্রামিং শিখতে গিয়ে আর কিছু শিখি বা না শিখি, প্রোগ্রামিং এর একটা প্রধান ওপেন সিকরেট আমি শিখেছি। স্ট্রাকচার, সিনটেক্স, লজিক এবং ফ্লো শিখার সাথে প্রোগ্রামিং শিখার এর অন্যতম গুরুত্বপূর্ন একটা অংশ হলো ভাল গুগল করতে শিখা

গুগল সার্চ সবাই করতে পারে। কিন্তু দশবার দশরকম কিওয়ার্ড লিখে সার্চ করে তারপর কোন এক আট বছর পুরনো ব্লগের আউটডেটেড সমাধান পাওয়া, আর সঠিক কিওয়ার্ড ব্যাবহার করে খুব সময়ে স্ট্যাকওভারফ্লো কিংবা ল্যাংগুয়েজের ম্যান পেজ থেকে পার্ফেক্ট সমাধানটা করা, এই দুইটার মধ্যে স্কিলের বেশ ভাল দূরত্ব আছে। যেটাকে বলা হচ্ছে Google Foo বা The Art of Googling। আমি এটাকে বলবো গুগল সার্চের জাদুবিদ্যা

একটা প্রবলেম বেশ কয়েকবার গুগল করে “কোন সমাধান নাই” বলে হতাশ হওয়া কেউ

Wisdom of the ancients

যখন দেখবে যে একই সমস্যা গুগল সার্চ করে প্রথম বারেই টু দ্যা পয়েন্ট সঠিক উত্তর পাওয়া সম্ভব, তখন সেটা তার কাছে কালো জাদু(ব্ল্যাক ম্যাজিক) মনে হওয়াটা অস্বাভাবিক কিছু না।

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

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

প্রোগ্রামিং এ একই সমস্যা অনেকবার ফেস করতে হয়, একটা বিশাল কমপ্লেক্স প্রোগ্রামের কোর লজিক ভাংতে শুরু করলে সেগুলো বেশ সিম্পলই। একই সমস্যার সমাধান বারবার গুগল যাতে না করতে হয়, তার সমাধান হলো প্রথমবারেই সমাধানটা বুঝে নেয়া।

Even Google employees use Google when they are stuck.

Smart people use Google

  • প্রোগ্রামিং করতে গিয়ে আটকে গেছেন?
  • কোন একটা কনসেপ্ট বুঝছেন না?
  • কিভাবে আগাতে হবে আইডিয়া আসছে না?
  • কাউকে জিজ্ঞেস করা দরকার?
    যদি আসলেই শিখতে চানঃ
    আগে অন্তত ৭ বার গুগল করুন।