বর্তমানে আমরা কেন programming শিখি ? বেশির ভাগই উত্তর হবে Application তৈরি Hardware Controlling এর জন্য। আচ্ছা ভালো কথা Application/Software/Operating System তৈরি অথবা Hardware driver/Hardware Programming তৈরিকরবেন। কিন্তু আমরা কেন Programming Language শিখি? অনেকে মনেকরতে পারেন পাগল নাকি Programming Language ছাড়া Software/Application Development হয়নাকি? একটু Deeply চিন্তা করেন programming কথাটার মানে কি? Generally Programming হচ্ছে লজিকের ভান্ডার যেখান থেকে লজিক খাটিয়ে আমরা যেকোন সমস্যার সমাধান বের করবো। এখন লজিক ম্যাথ দিয়েও হতে পারে, নিজের ট্রিক্স দিয়েও হতে পারে। আর Programming Language হলো আমার লজিক গুলোকে একটা ভাষায় পরিনত করা,  Computer কে বুঝানো যে আমার কি করতে চাচ্ছি। যেমন আমরা Algebra করি, অর্থাৎ Mathematics কে একটা Possible way তে Calculation করে খাতায় লিখি। সুতরাং এটা তাহলে Mathematics Programming Language । এবার আসি Computer Programming Language এ। আমরাতো মানুষ আমরা কি একটা Machine/Computer এর ভাষা বুঝি? আমাদের ভাষাও Computer বুঝেনা। এজন্য আমরা Machine এর সাথে Computer Programming Language এর মাধ্যমে কথা বলি। এখন সেটা যেকোন ভাষাই হোকনা কেন। যেমনঃ C, C++, Java, Python, Perl, ……………………….. । আমি একটা Message print করব যেমন “Programming World” ।

C তে Printf(“Programming World”);

C++ এ cout<<”Programming World”;

Java তে System.out.print(“Programming World”);

সব Computer Programming Language আমকে একই জিনিস Machine code করে Output দেখাবে। অর্থাৎ Output সেই 0 , 1 এর মাধ্যমেই হচ্ছে । তাহলে Language -টা কোন fact না। অনেকেই দেখি খালি Language এর পিছনে দৌড়ায়, লজিক শিখাতো দূরে থাক। ব্রেনে লজিকের ভান্ডার বাড়াতে হলে বেশি থকে বেশি প্রয়োজন Algorithm, Data Structure, Mathematics নিয়ে মাথা ঘামানো। এই জিনিস গুলো শিখে Practical Experience নেওয়ার জন্য বিভিন্ন অনলাইন জাজ আছে (Topcoder, UVa, Codejam, Codechef, Codefource, …..) । বর্তমানে অনেক Software Developer –রা শুধু language শিখে Software তৈরি করতে মাঠে নামে। যার ফলে Software গুলো Quality ভালো হয়না, Security অনেক দুর্বল হয়। আর যদি আমরা লজিকে Expert হই তাহলে আমাদের Software হবে ঠিক ফেলিক্স হালিমের Uhunt Software এর মত। চিন্তা করুন একটা ভারচুয়াল Software পুরো UVa অনলাইন জাজের Statistic দেখাচ্ছে! আর হ্যা অতটুকু language এর উপর নলেজ রাখবেন ঠিক যতটুকু আপনার লজিক Implement এ প্রয়োজন। শুধু language শিখে কয়দিন মনে রাখবেন? দুইদিন পরে মাথায় Syntax ও নাই language –ও ফুটুস। এজন্য বেশি থেকে বেশি প্রয়োজন বিভিন্ন Programming Contest এ participate করা Online judge নিয়মিত Practice করা। লজিক implement হবে + Language Master Expert হওয়া যাবে। আর যাদের লজিক ভাল-লাগেনা তাদের জন্য একটা ফ্রি Advice হল HTML আর CSS নিয়ে পরে থাকেন সময় অপচয় করা থেকে কাজে দিবে।

Advertisements