মূল লেখার লিংক
গত সামারে হঠাৎ কী মনে করে জাভা প্রোগ্রামিং এর উপর একটা বই কিনে পড়া শুরু করলাম। গল্পের মতো পড়া। বহু বছর আগে নটর ডেম কলেজের বড় ভাই বলেছিলেন যদি জাভা আর সি প্লাস প্লাস শেখ তাহলে ভবিষ্যতে অনেক কাজে লাগবে। আজ প্রায় বিশ বছর পর সেই কথাটা মনে পড়ছে। সত্যিই যদি এত দীর্ঘ সময় কোন ল্যঙ্গুয়েজ নিয়ে কাটানো যায়, সেই ভাষায় দক্ষতা আসবে এমনটা হয়তো বলা যায়।
বিশ্ববিদ্যালয়ে খুব সম্ভবত প্রথম বর্যে থাকাকালীন বাজারে সি প্রোগ্রামিং এর উপর বাংলায় একটা বই পাওয়া যেত। সেই বইয়ের মাধ্যমেই সি প্রোগ্রামিং এর সাথে পরিচয়। লেখকের পুরো নাম মনে নেই তবে “নিউটন” নামটা ছিল তা মনে আছে। বেশ আগ্রহ নিয়ে পড়া শুরু করেছিলাম। যতদূর মনে পড়ে পয়েন্টার নামক একটা বিষয়ে যেয়ে আর এগুতে পারিনি। শখের বশে সি শেখা শুরু করেছিলাম। পাঠ্যসূচিতে ছিল ফোরট্রান, যে কারণে ‘আউট বই’-হিসেবে সি-এর উপর সময় দেয়া সম্ভব হয়নি। সেসময় ফেইসবুক ছিলনা, আর গুগলেরও জন্ম হয়নি। তথ্যের সহজলভ্যতা এখনকার তুলনায় ছিলনা বললেই চলে। বাংলাদেশে ইন্টারনেট ব্যবহারের সুযোগ সৃষ্টি হয় সম্ভবত ১৯৯৫-৯৬ সনের দিকে। আমি নিয়মিত ইন্টারনেট ব্যবহার শুরু করি ‘৯৬ বা ‘৯৭-এ। তাই প্রাতিষ্ঠানিক কিংবা অপ্রাতিষ্ঠানিক কোন ভাবেই সি শেখা হয়ে ওঠেনি।
যাই হোক, পরবর্তীতে ফলিত পরিসংখ্যান নিয়ে পড়াশুনা করেছি। পড়াশুনা ও গবেষণার কাজে পরিসংখ্যানের জন্য তৈরী প্রোগ্রামিং ভাষা আর (R) দিয়েই সবসময় কাজ করেছি। হালে বিগ ড্যাটার যুগে এসে ইন্ডাস্ট্রিগুলো যখন পাইথন-পাইথন করছে তখন নিজেকে আপডেট করার জন্যই হঠাৎই নতুন কিছু চেখে দেখার ইচ্ছে হল। আর সে সূত্রেই জাভা’র সাথে পরিচয়।
নিতান্তই শখের বশে জাভা’র একটা বই কিনে ফেললাম। হার্বার্ট শিল্ড-এর জাভা – এ বিগিনার’স গাইড। যদ্দুর মনে পড়ে এই লেখকের সি-প্রোগ্রামিং এর একটা বইয়ের নাম পরবর্তীতে জেনেছিলাম যেটা নাকি কম্পিউটার সায়েন্সের ছেলেপেলেরা পড়তো। পাঠক, তথ্যে ত্রুটি থাকলে দয়া করে জানাবেন। স্মৃতি প্রতারণা করতে পারে।
কয়েকটা পরিসংখ্যানের বইয়ের মাঝে জাভা’র বই – ক্যান্ডিড ছবি
দীর্ঘদিন কম্পিউটারকে খাটিয়ে কম্পিউটেশনাল কাজ করে স্ট্যাটিসটিক্যাল প্রোগ্রামিং এর উপর মোটামুটি একটা ধারণা হয়েছে। ভেবেছিলাম প্রোগ্রামিং অনেকটাই শেখা হয়ে গেছে। ভুল ভাঙলো জাভা’র বইটা হাতে নিয়ে।
জাভা পড়া শুরু করে বুঝলাম প্রোগ্রামিং এর মহাসমুদ্রের ধারে কাছেও যেতে পারিনি। এত চমৎকার একটা ভাষা যেটাকে মনে হয়েছে অতি যত্ন এবং চিন্তা ভাবনা করে সাজানো কোন উপাখ্যানের মতো। কম্পিউটারের ভাষা সম্পর্কে এতদিন যা জানতাম জাভা’র বই পড়ে নিজেকে মনে হচ্ছিল এতদিন যা শিখেছি সেটা আসলে অনানুষ্ঠানিক শিক্ষার মত, প্রাতিষ্ঠানিক শিক্ষা নয়। অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং কী সেটা না জেনেই এতদিন ইন্টাড়্যাকটিভলি অবজেক্ট, মেথড, ক্লাস এসব ব্যবহার করেছি। কিন্তু জাভায় দেখলাম কী চমৎকার করে এসবের বাস্তবায়ন করা হয়েছে।
সামার পরবর্তী সময়ে অনেকটা আগ্রহের বশে পাইথন আর সি-শার্প এর উপরও দ্রুত চোখ বুলিয়েছি। আমার সীমিত জ্ঞানে সি-শার্প অনেকটা জাভার মতোই মনে হয়েছে। সি-শার্প জাভার তুলনায় আরেকটু ব্যবহার-বান্ধব মনে হয়েছে।
প্রোগ্রামিংএর বইগুলোকে সব একই রকম মনে হয়। বইগুলো সিনট্যাক্স শেখায়। সিনট্যাক্স মানে প্রোগ্রামের ভাষাটি দিয়ে যেভাবে প্রোগ্রাম লিখতে হবে সেটি। অনেকটা বর্ণমালা শেখার পর যেভাবে বাক্য গঠন শিখি, সেরকম। কোন বইই এগলরিদম শেখায় না। আমার কাজ চালানোর মতো যা লাগে সেটা আমি শিখেছি, তবে ধারণা করি প্রথাগতভাবে শেখার সুযোগ থাকলে হয়তো আবারো শিখতে চাইতাম।
শেষ করি দুটো অনুধাবন দিয়ে।
১। ব্যতিক্রম বাদ দিলে অধিকাংশ পরিসংখ্যানবিদ সম্ভবত ভালো প্রোগ্রামার নয়। কিন্তু তারা জানে কিভাবে কাজটা সমাধা করতে হবে। হয়তো এফিশিয়েন্সি তাদের কাছে এখন পর্যন্ত খুব গুরুত্বপূর্ণ বিষয় নয়। কিন্তু ভবিষ্যতের কথা ভাবলে এফিশিয়েন্ট কোড লেখার উপর জোর দিতে হবে। এর জন্য ভালো মেন্টর খুবই গুরুত্বপূর্ণ বলে মনে হয়।
২। পাইথন এবং জাভা জানাটা পরিসংখ্যানবিদদের জন্য এখন অত্যন্ত জরুরী। বিশেষ করে যারা ইন্ডাস্ট্রিতে কাজ করতে চায়। আমেরিকার অনেক বিশ্ববিদ্যালয়ে পরিসংখ্যান ডিগ্রির কারিকুলামে এখন পাইথন ঢুকে পড়েছে। বাংলাদেশের ছেলেপেলেদের কারিকুলামে এসব ঢুকতে হয়তো আরো বছর ৪-৫ লেগে যেতে পারে। তাই প্রাতিষ্ঠানিকভাবে সুযোগ না থাকলেও শিক্ষক ডট কম কিংবা কোর্সেরা থেকে এসবের কোর্স করে নিতে পরামর্শ দিচ্ছি।
পরিশেষে বলি, কম্পিউটার প্রোগ্রামিং ইজ ফান। সময় নষ্ট না করে এসবের পেছনে যতটুকু সময় পাওয়া যায় তা কাজে লাগাও। বাংলাদেশের ছেলেমেয়েরা প্রয়োজনীয় নির্দেশনা এবং গাইড পেলে অনেক দ্রুত অনেকদূরে যেতে পারবে বলে আমি অভিজ্ঞতার আলোকে বিশ্বাস করি।
ধন্যবাদ সবাইকে।
লেখাটির ব্যাপারে আপনার মন্তব্য এখানে জানাতে পারেন