September 12th, 2016

artofprogramming1আর্ট অব কম্পিউটার প্রোগ্রামিং নামে একটা সিরিজ বই আছে ডোনাল্ড নুথের। সেই বই-এ কোন ভুল, হোক মুদ্রণ প্রমাদ, ঐতিহাসিক, ছোট খাটো ভুল, বের করতে পারলে নুথ তাকে একটা পুরস্কার দেন। পুরস্কার হলো ২ ডলার ৫৬ সেন্টের একটা চেক। এমআইটির টেকনোলজি রিভিউ ম্যাগাজিনের মতে “Knuth’s reward checks are among computerdom’s most prized trophies”.

artofprogramming3তো, ২ ডলার ৫৬ সেন্ট বা ২৫৬ সেন্ট কেন? কারণ এ হলো ১ হেক্সাডেসিমেল ডলার। হেক্সে লিখলে এটি হয় 100!! (হেক্স হল ১৬ ভিত্তিক সংখ্যাপাতন)।

যারা কম্পিউটার বিজ্ঞানের শিক্ষার্থী বা এ বিষয়ে খোঁজ রাখে তারা ব্যাপারটা ধরে ফেলেছে। ২৫৬ হলো ২-টু-দি পাওয়ার ৮ (২^৮)। যখন ৮ বিটের সিস্টেম ছিল (যেমন ASCII) তখন মোট কোডই ছিল ২৫৬টা। কাজেই ২৫৬ এর একটা মহিমাতো আছেই।

কম্পিউটার বিজ্ঞানীদের মধ্যে ২৫৬ এক ধরণের কাল্ট!

তাহলে বছরের ২৫৬তম দিনকে কী হিসাবে পালন করা যায়?

সাধারণ বছরে এই দিনটি পড়ে ১৩ সেপ্টেম্বর। অধিবর্ষে (যেমন ২০১৬) এটি হয় ১২ সেপ্টেম্বর।

রাশিয়ার দুইজন প্রোগ্রামার প্রথমে এই দিনটাকে প্রোগ্রামারদের দিন হিসাবে পালনের জন্য সরকারের কাছে ধর্না দিতে শুরু করে। ২০০৯ সালে রাশিয়ান সরকার এই দিনটিকে প্রোগ্রামারদের দিন হিসাবে ঘোষণা করে। রাশিয়াতে এই দিনটিতে প্রোগ্রামাররা ছুটি পায়!

সেই হিসাবে আজ ১২ সেপ্টেম্বর প্রোগ্রামার দিবস হিসাবে পালন করতে পারেন।

artofprogramming2

দিনদিন প্রোগ্রামিং-এর গুরুত্ব বাড়ছে কারণ অটোমেশন ও ডিজিটাইজেশনের পরিমাণ বাড়ছে।এমন সব যন্ত্রপাতি বের হচ্ছে যা কী না নিজে নিজে অনেক কিছু করে ফেলতে পারে। এর ফলে বিশ্বব্যাপী প্রোগ্রামারদের চাহিদা বেড়ে গেছে অনেকখানি। ২০১৯ সাল নাগাদ কেবল আমেরিকাতে ১০ লাখ নতুন প্রোগ্রামারের দরকার হবে। ইউরোপে ৮ লক্ষ আর আমাদের দেশে এক লক্ষ! শুধু বিশ্ববিদ্যালয়ে পড়ে যে প্রোগ্রামিং শিখতে হবে তা না। নিজ নিজেও এখানে অনেকখানি উন্নতি করা যায়। প্রোগ্রামিং শেখার জন্য শুরুতে একটা প্রোগ্রামিং ভাষা নির্বাচন করে সেটা ভালভাবে আয়ত্ব করতে হয। কোন ভাষাটা শিখতে হবে তা নিয়ে অনেক বিতর্ক আছে। আমার মতে যে কোন একটা হলেই হয়। তবে, মূল ভাষাগুলো শিখলে ভাল। যে ভাষায় হোক না কেন শিখতে হবে ভালভাবে, ভাষা ভাষা না। আমরা যখন ছাত্র ছিলাম তখন মেজারমেন্ট ছিল দুইটা। ফোরট্রান দিয়ে ডেসার বিলিং ডেটাবেস সামাল দিতে পারো কী না কিংবা সি-ভাষাতে এমন প্রোগ্রাম লিখতে পারো কী না যা একটা দরজা খুলতে পারে। আমার কাছে এখনো এই দুইটাকেই বেসিক মাপকাঠি মনে হয়।

শেখাশেখি কেমন হচ্ছে এটা মাপার একটা পদ্ধতি হলো অনলাইন প্রোগ্রামিং প্রতিযোগিতাগুলোতে যোগ দেওয়া। পাশাপাশি অনসাইট প্রোগ্রামিং-এ ও যোগ দিতে হবে। দেশ হাইস্কুলের শিক্ষার্থীদের জন্য হাইস্কুল প্রোগ্রামিং প্রতিযোগিতা ও আইওআই এবং বিশ্ববিদ্যালয়ের শিক্ষার্থীদের জন্য জাতীয় ও আন্তর্জাতিক প্রতিযোগিতার সুযোগ আছে। অনেক প্রতিযোগিতা হচ্ছে আজকাল। হচ্ছে অনেক ক্যাম্পও।
একটা সুযোগ আছে আমাদের সামনে নিজেদেরকে আন্তর্জাতিক অঙ্গনে ঠিকমতো তুরে ধরার। কোন কোন জায়গায় আমাদের রেঙ্কিং দুর্বল হলেও আমরা যে অনেক পিছিয়ে তা কিন্তু নয়!

5যারা বাংলা বই পড়তে চায় তারা সুবিন ও শান্তর বইগুলো দেখতে পারে। সুবিনের কম্পিউটার প্রোগ্রামিং বইটা বিনামূল্যে অনলাইনেও পাওয়া যায়।

এছাড়া হাবলুদের জন্য প্রোগ্রামিং এবং হুকুশ-পাকুশের সঙ্গেও প্রোগ্রামিং শেখা যায়। বর্তমানে বেশ কিছু বাংলা বই আরও লেখা হয়েছে এবং লেখা হচ্ছে।

সুবিনের প্রোগ্রামিং বই-এর দ্বিতীয় খন্ড প্রকাশিত হয়েছে কয়েকদিন আগে।
মাহবুবুল হাসান শন্ত-এর লেখা প্রোগ্রামিং কন্টেস্ট ডেটা স্ট্রাকচার ও এলগরিদম বইটি প্রকাশ পেয়েছে জুন মাসে।

সুবিনের বইতে থাকা বিভিন্ন সমস্যাগুলোর সমাধান করা যায় তার সাইটে গিয়ে। যারা আর-একটু আগাতে পারলো তারা ৫২টি সমস্যার সমাধান করতে পারে।

 

এখন বিবিণ্ন বিশ্ববিদ্যালয়সহ নানান প্রতিষ্ঠান প্রোগ্রামিং শেখায়। আমরা নানান জায়গায় অনেক ক্যাম্প, কর্মশালার আয়োজন করে থাকি। এখন যেমন দেশজুড়ে হচ্ছে মেয়েদের জন্য প্রোগ্রামিং ক্যাম্প। ঢাকা, দিনাজপুর আর মহেশপুরে হয়েছে। অচিরে আরও ১২/১৩ জায়গায় এটি হবে।

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

হ্যাপি প্রোগ্রামার’স ডে!!!

 

 

আরও পড়তে পারেন:
ফেসবুকের প্রোগ্রামাররা সারাদিন কী করে?
বিশ্ব প্রোগ্রামিং অলিম্পিকে স্বর্ণপদক পাবে কোন দেশ?
আমার সফটএক্সপো-১ : প্রাইমারি ও হাইস্কুল পড়ুয়াদের কোডিং
ডেভেলপারদের পছন্দ - নতুনদের দিশা
কোডিং অভ্যাস : স্পেস না ট্যাব?