প্রথমেই মহান আল্লাহ তাআলার নিকট বিশেষ শুকরিয়া জ্ঞাপন করছি। তাঁর অশেষ মেহেরবানি ও অফুরন্ত রহমতের কারণেই বইটির দ্বিতীয় সংস্করণের কাজ শেষ করতে পেরেছি। সমস্ত প্রশংসা শুধু আল্লাহরই জন্য।
এটি আমার প্রথম প্রকাশিত বই, তাই বইটির প্রতি আমার আবেগও খানিকটা বেশি। এই বই যে পাঠকপ্রিয়তা ও ভালোবাসা পেয়েছে, তাতে আমি বেশ মুগ্ধও হয়েছি। এই মুগ্ধতাটুকু জিইয়ে রাখার জন্য প্রথম সংস্করণের সঙ্গে কাঠামোগত পরিবর্তন না করেও বেশ কিছু উল্লেখযোগ্য পরিবর্তন ও সংযোজন করেছি, যেমন– ইক্লিপস (Eclipse)-এর পরিবর্তে পাঠককে একটি নতুন ও আধুনিক আইডিইর সঙ্গে পরিচয় করিয়ে দিতে ইনটেলিজে আইডিয়া (IntelliJ IDEA) ব্যবহার করেছি। আগের বইটি লেখা হয়েছিল জাভা ৮-এর ওপর। এই বইটি লেখা হয়েছে জাভা ১৭-এর ওপর। গত চার বছরে জাভাতে বেশ কিছু গুরুত্বপূর্ণ সংযোজন হয়েছে, যার কিছু কিছু এই বইয়ে যুক্ত করেছি। এ ছাড়া এই বইতে অনুশীলনীর প্রতি অনেক বেশি গুরুত্ব দিয়েছি; বিশেষ করে শুরুর দিকের অধ্যায়গুলোতে। আমরা শুধু বই পড়ে কোনো বিষয়ে দক্ষতা অর্জন করতে পারি না। কোনো বিষয়ে দক্ষতা অর্জন করতে হলে হাতে-কলমে অনুশীলন করতে হয়। এই অনুশীলন হতে হয় নিয়মিত। আমাদের মস্তিষ্ক মূলত একটি জৈবিক লার্নিং মেশিন। প্রতিনিয়তই আমরা নানা রকম বিষয় দেখছি এবং শিখছি। কিন্তু এর কতটুকুই আমরা ধরে রাখতে পারি? সবটুকু আমরা পারি না। এর কারণ, মস্তিষ্ক একই সঙ্গে শক্তি সংরক্ষণশীল মেশিনও বটে। কোনো একটি নতুন বিষয় শিখতে হলে মস্তিষ্কের নতুন একটি নিউরাল প্যাটার্ন তৈরি করতে হয়। এই কাজের জন্য শক্তির প্রয়োজন হয়। কোনো বিষয় খুব প্রয়োজনীয় না মনে হলে, মস্তিষ্ক সেই বিষটির জন্য শক্তি ব্যবহার করতে চায় না। কোনো একটি অনুশীলন এক দিন বা একবার করার পর দীর্ঘ সময়ের বিরতি দিলে মস্তিষ্কের কাছে সেই কাজের গুরুত্ব কমে যায়। যার ফলে এই বিষয়টি নিয়ে মস্তিষ্ক আর বেশি কাজ করে না। এই একই কাজটি অনেক দিন পর যখন আবার করা চেষ্টা করি, তখন আমাদের কাছে কঠিন মনে হয় কিংবা মনে থাকে না। কিন্তু নিয়মিত একটি কাজ অল্প অল্প করলে, মস্তিষ্কের কাছে কাজটির গুরুত্ব বাড়তে থাকে, এবং এটি নিয়ে মস্তিষ্ক তখন নিউরাল পাথওয়ে তৈরি করার কাজটি করতে থাকে। আর এতেই অল্প দিনের মধ্যেই বিষয়টি আমাদের কাছে ধীরে ধীরে সহজ হয়ে ওঠে। তাই পাঠকের প্রতি পরামর্শ থাকবে বইটির অনুশীলনীগুলো নিয়ে নিয়মিত কাজ করা। অনেক কিছু হয়তো শুরুতে বুঝতে অসুবিধা হবে, কিন্তু দীর্ঘদিন নিয়মিত অনুশীলনে করতে থাকলে যেকোনো বিষয় আয়ত্তের মধ্যে চলে আসে।
এই বই একবার কিংবা দুই বার পড়ে হয়তো জাভা প্রোগ্রামিং ভাষা সম্পর্কে আমাদের কিছুটা জ্ঞান অর্জন হবে, তবে শুধু জ্ঞান অর্জনই একমাত্র উদ্দেশ্য নয়; আমাদের মূল উদ্দেশ্য হতে হবে দক্ষতা অর্জন করা। এই প্রোগ্রামিংয়ের বিষয়গুলো বারবার অনুশীলনের মাধ্যমে এমনভাবে আয়ত্তের মধ্যে নিয়ে আসতে হয়, যাতে আমরা যখন বাস্তব জগতের কোনো একটি সমস্যা সমাধান করব, তখন বাস্তব জগতের সমস্যাটিকে কীভাবে প্রোগ্রামিং ভাষায় রূপান্তর করব, তা আমাদের কাছে যেন বাধা না হয়ে দাঁড়ায়। বরং আমরা বাস্তব জগতের সমস্যাটি নিয়ে বেশি চিন্তিত হব এবং সুন্দর সমাধানের জন্য সময় ব্যয় করব। একটি লুপ কীভাবে লিখতে হয়, কোন ডেটা সংরক্ষণের জন্য কোন ধরনের কালেকশন ব্যবহার করব, আইডিই কিংবা টার্মিনালে কীভাবে একটি কমান্ড চালাব তা নিয়ে আমাদের ধন্দের মধ্যে থাকা যাবে না, বরং এগুলোকে অনেকটা মাসল মেমোরিতে নিয়ে আসতে হবে। আর এর জন্য যে দুটি জিনিস প্রয়োজন তা হলো : নিয়মিত হওয়া এবং বেশি বেশি অনুশীলন করা। আশা করি, এই বইটি পাঠকদের জাভা প্রোগ্রামিংয়ের ওপর দক্ষতা অর্জনের লক্ষ্যে অনুশীলন করতে সহায়ক এবং একটি সুন্দর পাথেয় হবে।
মানুষ ভুলত্রুটি ঊর্ধ্বে নয়। অনেক বার রিভিউয়ের পরও কিছু ভুলত্রুটি হয়তো থেকে গেছে। আশা করছি পাঠক ক্ষমাসুন্দর দৃষ্টিতে দেখবেন। যেকোনো পরামর্শ, অনুরোধ কিংবা প্রশ্নের জন্য নিচে একটি ইমেইল অ্যাড্রেস দিয়ে দিয়ে দিলাম।
লেখালেখির শুরুটা কবিতা দিয়ে, সেই ছোট্টবেলায়। একটা সময় কবিতার খাতাটি হারিয়ে প্রোগ্রামিংয়ের এডিটরটাই হয়ে যায় লেখালেখির নতুন ক্যানভাস। ছাত্রাবস্থা থেকে প্রোগ্রামিং-ই ছিল তাঁর ধ্যান-জ্ঞান। প্রোগ্রামিংয়ের জন্য পছন্দের ভাষা হলো জাভা। জাভার প্রতি ভালোবাসা থেকেই জাভা ইউজার গ্রুপ বাংলাদেশ (http://www.jugbd.org/) প্রতিষ্ঠা করেছেন।
মাতৃভাষায় প্রোগ্রামিং শেখার আনন্দ দিতেই প্রিয় প্রোগ্রামিং ভাষা জাভা নিয়ে লিখে চলেছেন একের পর এক বই। তাঁর লেখার প্রধান বৈশিষ্ট্য – তিনি জাভার যে বিষয়েই লেখেন, সেটি গভীরভাবে ব্যাখ্যা করেন। তাঁর বই পড়লে কী এবং কীভাবের পাশাপাশি ‘কেন’-এর উত্তরও পাওয়া যায়।
আ ন ম বজলুর রহমানের প্রথম বই জাভা প্রোগ্রামিং নতুন শিক্ষার্থীদের কাছে অত্যন্ত জনপ্রিয়। জাভা থ্রেড প্রোগ্রামিং, অ্যাডভান্সড জাভা প্রোগ্রামিং, জাভা ওয়েব প্রোগ্রামিং-ও সমানভাবেই পাঠক সমাদৃত হয়েছে। জাভা প্রোগ্রামিং বইটির প্রথম সংস্করণ প্রকাশের চার বছর পর এবার বেশ কিছু পরিবর্তন নিয়ে এর দ্বিতীয় সংস্করণটি প্রকাশিত হচ্ছে। লেখা এবং চাকরির পাশাপাশি তিনি নিয়মিত জাভা বিষয়ক জাতীয় ও আন্তর্জাতিক সেমিনার এবং কনফারেন্সে বক্তব্য দিয়ে থাকেন।
শেরপুর জেলার ভারেরা গ্রামে জন্ম আ ন ম বজলুর রহমানের, শৈশবটাও কেটেছে সেখানেই। ঢাকা বিশ্ববিদ্যালয় থেকে সফটওয়্যার প্রকৌশলে স্নাতক সম্পন্ন করে থেরাপ, ভ্যানটেজ ল্যাবসের মতো যুক্তরাষ্ট্রভিত্তিক কোম্পানিতে চাকরি করেছেন। এর মধ্যেই গেস্ট ফ্যাকাল্টি হিসেবে ঢাকা বিশ্ববিদ্যালয়ের তথ্যপ্রযুক্তি ইনস্টিটিউটে সফটওয়্যার ইঞ্জিনিয়ারিংয়ের শিক্ষার্থীদের জাভা শিখিয়েছেন দুই বছর। এরপর বিকাশ লিমিটেডে কর্মরত ছিলেন সিনিয়র লিড ইঞ্জিনিয়ার হিসেবে। বর্তমানে তিনি সিনিয়র সফটওয়্যার ডেভেলপার হিসেবে কর্মরত আছেন কানাডার লবলো ডিজিটালে, এবং সস্ত্রীক বসবাস করছেন টরন্টো শহরে।
জাভা শিখার জন্য ইংরেজিতে খুব ভাল কিছু বই আছে যেমন- Java Complete Reference, Head First Java ইত্যাদি। আমি জাভা শিখা শুরু করি Java Complete Reference দিয়ে। কিন্ত একইসাথে জাভা থিওরি জানা, OOP বোঝা আর এগুলোই ঠিকঠাকভাবে বুঝে প্র্যাকটিক্যালি কাজে লাগানোর মধ্যে পার্থক্য আছে। ইংরেজি ভাষায় এইগুলা বুঝতে বেশ বেগ পেতে হয় মাঝে মধ্যে। এজন্য বাংলাতে জাভার একটা ভাল বইয়ের খুব দরকার ছিল। যেমন প্রবলেম সল্ভিং এর জন্য আছে সুবিন ভাইয়ের বই। সেই হিসেবে প্রাথমিকভাবে জাভা বা OOP শিখার জন্য এই বইটি খুবই চমৎকার। এখানে Java র বেসিক জিনিসগুলোর পাশাপাশি ইনহেরিটেন্স, পলিমরফিজম, এনক্যাপসুলেশন ইত্যাদি, উদাহরণ দিয়ে এত সুন্দর করে উপস্থাপন করা হয়েছে যে, যেকেউই বইটা একবার পড়ে মোটামুটি ধরে ফেলতে পারবে। তবে যারা এখনও ১/২ বছর ধরে জাভা বা android এ কাজ করছেন তাদের জন্যেও বইটি খুবই উপকারী। কারণ, আমরা অনেকেই কোন সমস্যায় পড়লে google এ সার্চ করে কপি-পেস্ট করে কাজ শেষ করে ফেলি কিন্ত জানি না কিভাবে কাজটা হল। কিন্ত একটা সময় ঠিকই আটকে যাওয়া লাগে। এজন্য বেসিক কনসেপ্টের কোন বিকল্প নেই যেটা কিনা এই বইটিতে সম্পূর্ণরূপে প্রতিফলিত হয়েছে।
It's not perfect, but it is the best book you can buy to learn Java in Bangla. Covers a lot of the newer features of Java that is not covered by anything else at the moment.