Analog Clock

রবিবার, ১৭ জুলাই, ২০১৬

সিনট্যাক্স টেমপ্লেট বনাম প্রবলেম সলভিং স্কিল, ডিম আগে না মুরগী আগে ???

অনেকের কোড বের করলে দেখবেন উপরে একগাদা জিনিস #include করা, #define করা, বিগিনার রা এগুলো দেখলে ভয় পেয়ে যান, অনেকে জিজ্ঞাসা করেন এগুলো দরকার নাকি দরকার না।
আমার যেটা মনে হয় সেটা বলিঃ ভাই কোড দিয়ে প্রবলেম সলভ করতে হইলেও কোড কিন্তু ব্যাপার না, ব্যাপার হইলো আপনার চিন্তা, আপনার জ্ঞান, আপনার ডেপথ, আপনার রাফ খাতা কলম/পেন্সিলে করা ডিজাইন, এগুলো ঠিক করতে পারলে যে ল্যাংগুয়েজই হোক সেটা কোনো সমস্যা না, অনেক সিনট্যাক্স জানা আসলে সুবিধাজনক কিন্তু আপনার মাথা যদি আইডিয়া ধরতে না পারে তবে সিনট্যাক্স লিখে কি করবেন। বিশ্বের ১ নম্বর স্পোর্টস প্রোগ্রামার গেন্নাডি করোটকেভিছ ( #ট্যুরিস্ট ) এর কোড দেখেন, পোলাটা প্রতিটা কোড করার সময় নতুন করে শুরু করে, কোনো টেমপ্লেট নাই কোনো ডিফাইন নাই।
একেবারে শুরু তে bits/stdc++.h ইনক্লুড করে আর using namespace std ব্যাবহার করে। এরপর তার কোড শুরু, আর সে এমন একটা এডিটর ব্যাবহার করে ( Far Manager ) যাতে auto-completion ও নাই, অর্থাৎ সে সম্পুর্ণ কোড টাই লিখে প্রতিবার।
তারপরেও সে সবার আগে সব কিছু সলভ করে, এর কারণ তার মাথায় দ্রুত কার্যকর আইডিয়া আসে যা সে ইমপ্লিমেন্ট করে।
সে এতোই ফাস্ট এর সাথে এতোই এক্যুরেট যে, কেউ তার আগে লার্জ ইনপুট ( ফেসবুক হ্যাকার কাপ, গুগল কোড জ্যাম ) সাবমিট করলে সেই ব্যাটার টা ভুল হয়, গেন্নাডি ঠিকই ফার্স্ট হয় ( লাস্ট ২ বছরের অবজার্ভেশন )।
তাই, ইনক্লুড, ডিফাইন এগুলোর চিন্তা আপাতত বাদ দিয়ে সলভিং স্কিলের দিকে বেশি নজর দেন।
আর একটা কথা, যারা বলেন "c shesh, ebar kon boi theke c++ shikhbo", তাদের উদ্দেশ্যেঃ যদি আপনি ল্যাংগুয়েজ এক্সপার্ট হইতে চান তাহলে আমার কিছু বলার নেই, যদি প্রবলেম সলভার হইতে চান তাহলে ডিরেক্ট প্রবলেম সলভিং আর কনটেস্টে নেমে পড়ুন, ঠ্যালায় পড়ে অনেক কিছু শিখে যাবেন :)

মূল পোস্ট ছিলো এখানে...

#theromeo421


কোন মন্তব্য নেই:

একটি মন্তব্য পোস্ট করুন