প্রোগ্রামিং ল্যাংগুয়েজ বাছাইয়ের যুদ্ধ ! Html, Php, Css, Javascript, Python
প্রোগ্রামিং ল্যাংগুয়েজ বাছাইয়ের যুদ্ধ !
আমি জীবনে প্রোগ্রামিং করিনি, এখন শুরু করতে গিয়েই দেখলাম কোডিং করার জন্য কোন ল্যাঙ্গুয়েজ দিয়ে লিখবো, সেটা নিয়ে যুদ্ধ। অমুকের কাছে যাই, বলে পাইথন, তমুকের কাছে গেলে বলে সি। আমি মানুষ একজন, করবো কি?
কোনটার ভবিষ্যত আছে, কোনটার বেতন কত, কোনটা দিয়ে কি হয়, সেটা ত আমার মত বিগিনার মানুষ বুঝবে না। আমার দরকার উত্তর, আর উত্তর নিতে গিয়েই দেখি সবাই আমাকে বারবারই কনফিউজড করে দেয়।
আমার অমুক আপু, উনার গ্রাজুয়েশন শেষ, উনার কাছে গেলাম, উনি বললেন সি উনার মাথার উপর দিয়ে গিয়েছিলো, পাশের জন্য পড়েছেন। এখন পিএইচপি নিয়ে আছেন।
আমার তমুক ভাই, গণিত অলিম্পিয়াডে অংশ নিয়েছিলেন, উনার পছন্দ সি। কারণ সি ছাড়া নাকি কনটেস্টগুলোতে অংশ নিতে সমস্যা হয়।
একজন প্রফেসর বললেন আমি আসলে কি করবো সেটার উপর সব নির্ভর করে। একজন ভালো প্রোগ্রামারকে নাকি আসলে বেশ কয়েকটা ল্যাঙ্গুয়েজের উপর এমনিতেও ধারণা রাখা লাগে।
আসলেই তো তাই, আমি প্রোগ্রামিং কেন শিখবো সেটা ত আগে দেখতে হবে। আমার লক্ষ্য কি একটা সফটওয়্যার, গেম বা ওয়েবসাইট বানানো? আমার বয়স কত, কোন ক্লাসের স্টুডেন্ট, অংকে কেমন কাঁচা আমি। কত কিছুই চিন্তা করা লাগে। আর, সবার চেয়ে গুরুত্বপূর্ণ হলো, প্রোগ্রামিং আমার কাছে কেমন লাগে সেটা চিন্তা করা। আমার মত বিগিনারদের তাহলে এখন বেশ কয়েকটা রাস্তা আছে, সেগুলো হলো,
পাইথন শেখা, সহজ হতে কঠিনের দিকে যাওয়ার জন্য। প্রোগ্রামিং এর মজাটা নেবার জন্য।
সি বা সি++ শেখা, কঠিন হতে সহজের দিকে যাওয়ার জন্য। কম্পিউটারকে একটু ভালোভাবে জানার জন্য। আমি চাইলে Go, Java এগুলো দিয়েও শুরু করতে পারি ওজন্য।
জাভাস্ক্রিপ্ট শেখা, একটা ওয়েবসাইট বা এপপের কাজ করার জন্য।
রুবি বা পিএইচপি শেখা, ওয়েবসাইটের পিছনে কি হবে সেটা নিয়ে কাজ করার জন্য।
শখের বশে করতে চাইলে আমি পাইথন দিয়েই শুরু করতে বলেছে আমাকে। আর এখন নাকি JS দিয়েও অনেক শৌখিন কাজ করা যায়। চাইলে ওয়ার্ডপ্রেস এর ব্লগ তৈরি করার জন্য PHP নিয়েও ঘাটাঘাটি করতে পারবো। শখের কি আর শেষ আছে? আবার, অলিম্পিয়াড, কনটেস্ট, এসব সহ ভার্সিটি রিলেটেড সাবজেক্টে সি বা সি++ দিয়েই করা লাগে। আমি যেটাই করি, বেসিক জানলে বা আয়ত্বে আনতে পারলে দুইটাই আমার জন্য সহজ হবে।
সি না পারলে যে আমি প্রোগ্রামার হতে পারবো না, বা পাইথন না পারলে আমি প্রোগ্রামার হতে পারবো না, সেটা অসম্ভব, জাপানি বা আরবি আমি না পারতেই পারি, তারমানে এই না যে আমি কথা বলতে পারি না। আবার, জাপানে গিয়ে আমি বাংলায় কথা বলতে চাইলেও হবে না। আমার মত বিগিনাররা হয়তো এত কিছু বুঝবে না, তাই বাধ্য হয়ে কনফিউসড থেকে যেতে হলো।
মজার ব্যাপার হলো, যেটাই শিখি না কেন, চাইলে আমি সহজ হতে আস্তে আস্তে কঠিনের দিকে যেতে পারি। আবার কঠিন হতে সহজের দিকে যেতে পারি। শুধু বেসিক ব্যাপারগুলো একবার মাথায় ঢুকে গেলেই হলো। সবাই হয়তো কঠিন দিয়ে শুরু করতে পারবে না, আবার শুরুতেই সব একদম সহজ হয়ে গেলে হয়তো আমি এক্ষেত্রেও আগ্রহ হারিয়ে ফেলবো। পাইথন, পিএইচপি, জাভা, জাভাস্ক্রিপ্ট, ইত্যাদি ভাষা মূলত সি হতে অনেক দিক থেকে অনুপ্রাণিত হয়েছে, তাই এগুলোর যেকোন একটা আয়ত্বে এনে সি তে যাওয়া যায়। আবার সি থেকেও এগুলোর দিকে যাওয়া যায়। আরো কত কত ল্যাঙ্গুয়েজ আছে! সি#, লুয়া, পার্ল, গো, রাস্ট, আর, আরো কয়েকশ রকম। সব তো আর একসাথে শেখা যাবে না।
হাতে ১ মাস সময় নিয়ে,আমি যদি জাস্ট একটা ছোট এপপ বানাতে চাই যেটা আমার তৈরি ওয়েবসাইট বাকিদের দেখাবে, তাহলে ১ মাসে হয়তো PHP বা Python এর একটা ছোট বেসিক বুঝে ওয়েবসাইট বানাতে পারবো, কিন্তু সি দিয়ে সেই লেভেলে যেতে অনেক কষ্ট পোহাতে হবে।
যদি একটা বড় গেমস বানাতে চাই আমি, তাহলে হয়তো আগে সি শেখাটাই ভালো হবে। কারণ গেমসগুলোর সাথে হার্ডওয়ারের অনেক সম্পর্ক।
JS, PHP, পাইথন দিয়ে শুরু করলে তাড়াতাড়ি প্রোগ্রামিং শিখতে পারবো। একটু সহজও হবে শেখাটা। সামনে ডাটা সায়েন্সের বিশাল সম্ভাবনায় পাইথন বা R আমাকে অনেক সাহায্য করবে।
সি বা সি++ দিয়ে শুরু করলে ভালোভাবে কম্পিউটারের অভ্যন্তরীন অনেক ব্যাপার সহ ভালোভাবে প্রোগ্রামিং শিখতে পারবো। পথটা হয়তো একটু কঠিন হবে, কিন্তু ভালোভাবে শেখা সম্ভব হবে। কঠিন পথ বলে অনেকেই এখানে হাল ছেড়ে দেয়।

No comments