প্রথমেই মহান আল্লাহ তাআলার নিকট বিশেষ শুকরিয়া জ্ঞাপন করছি। তাঁর অশেষ মেহেরবানি ও অফুরন্ত রহমতের কারণেই বইটির দ্বিতীয় সংস্করণের কাজ শেষ করতে পেরেছি। সমস্ত প্রশংসা শুধু আল্লাহরই জন্য।
এটি আমার প্রথম প্রকাশিত বই, তাই বইটির প্রতি আমার আবেগও খানিকটা বেশি। এই বই যে পাঠকপ্রিয়তা ও ভালোবাসা পেয়েছে, তাতে আমি বেশ মুগ্ধও হয়েছি। এই মুগ্ধতাটুকু জিইয়ে রাখার জন্য প্রথম সংস্করণের সঙ্গে কাঠামোগত পরিবর্তন না করেও বেশ কিছু উল্লেখযোগ্য পরিবর্তন ও সংযোজন করেছি, যেমন– ইক্লিপস (Eclipse)-এর পরিবর্তে পাঠককে একটি নতুন ও আধুনিক আইডিইর সঙ্গে পরিচয় করিয়ে দিতে ইনটেলিজে আইডিয়া (IntelliJ IDEA) ব্যবহার করেছি। আগের বইটি লেখা হয়েছিল জাভা ৮-এর ওপর। এই বইটি লেখা হয়েছে জাভা ১৭-এর ওপর। গত চার বছরে জাভাতে বেশ কিছু গুরুত্বপূর্ণ সংযোজন হয়েছে, যার কিছু কিছু এই বইয়ে যুক্ত করেছি। এ ছাড়া এই বইতে অনুশীলনীর প্রতি অনেক বেশি গুরুত্ব দিয়েছি; বিশেষ করে শুরুর দিকের অধ্যায়গুলোতে। আমরা শুধু বই পড়ে কোনো বিষয়ে দক্ষতা অর্জন করতে পারি না। কোনো বিষয়ে দক্ষতা অর্জন করতে হলে হাতে-কলমে অনুশীলন করতে হয়। এই অনুশীলন হতে হয় নিয়মিত। আমাদের মস্তিষ্ক মূলত একটি জৈবিক লার্নিং মেশিন। প্রতিনিয়তই আমরা নানা রকম বিষয় দেখছি এবং শিখছি। কিন্তু এর কতটুকুই আমরা ধরে রাখতে পারি? সবটুকু আমরা পারি না। এর কারণ, মস্তিষ্ক একই সঙ্গে শক্তি সংরক্ষণশীল মেশিনও বটে। কোনো একটি নতুন বিষয় শিখতে হলে মস্তিষ্কের নতুন একটি নিউরাল প্যাটার্ন তৈরি করতে হয়। এই কাজের জন্য শক্তির প্রয়োজন হয়। কোনো বিষয় খুব প্রয়োজনীয় না মনে হলে, মস্তিষ্ক সেই বিষটির জন্য শক্তি ব্যবহার করতে চায় না। কোনো একটি অনুশীলন এক দিন বা একবার করার পর দীর্ঘ সময়ের বিরতি দিলে মস্তিষ্কের কাছে সেই কাজের গুরুত্ব কমে যায়। যার ফলে এই বিষয়টি নিয়ে মস্তিষ্ক আর বেশি কাজ করে না। এই একই কাজটি অনেক দিন পর যখন আবার করা চেষ্টা করি, তখন আমাদের কাছে কঠিন মনে হয় কিংবা মনে থাকে না। কিন্তু নিয়মিত একটি কাজ অল্প অল্প করলে, মস্তিষ্কের কাছে কাজটির গুরুত্ব বাড়তে থাকে, এবং এটি নিয়ে মস্তিষ্ক তখন নিউরাল পাথওয়ে তৈরি করার কাজটি করতে থাকে। আর এতেই অল্প দিনের মধ্যেই বিষয়টি আমাদের কাছে ধীরে ধীরে সহজ হয়ে ওঠে। তাই পাঠকের প্রতি পরামর্শ থাকবে বইটির অনুশীলনীগুলো নিয়ে নিয়মিত কাজ করা। অনেক কিছু হয়তো শুরুতে বুঝতে অসুবিধা হবে, কিন্তু দীর্ঘদিন নিয়মিত অনুশীলনে করতে থাকলে যেকোনো বিষয় আয়ত্তের মধ্যে চলে আসে।
এই বই একবার কিংবা দুই বার পড়ে হয়তো জাভা প্রোগ্রামিং ভাষা সম্পর্কে আমাদের কিছুটা জ্ঞান অর্জন হবে, তবে শুধু জ্ঞান অর্জনই একমাত্র উদ্দেশ্য নয়; আমাদের মূল উদ্দেশ্য হতে হবে দক্ষতা অর্জন করা। এই প্রোগ্রামিংয়ের বিষয়গুলো বারবার অনুশীলনের মাধ্যমে এমনভাবে আয়ত্তের মধ্যে নিয়ে আসতে হয়, যাতে আমরা যখন বাস্তব জগতের কোনো একটি সমস্যা সমাধান করব, তখন বাস্তব জগতের সমস্যাটিকে কীভাবে প্রোগ্রামিং ভাষায় রূপান্তর করব, তা আমাদের কাছে যেন বাধা না হয়ে দাঁড়ায়। বরং আমরা বাস্তব জগতের সমস্যাটি নিয়ে বেশি চিন্তিত হব এবং সুন্দর সমাধানের জন্য সময় ব্যয় করব। একটি লুপ কীভাবে লিখতে হয়, কোন ডেটা সংরক্ষণের জন্য কোন ধরনের কালেকশন ব্যবহার করব, আইডিই কিংবা টার্মিনালে কীভাবে একটি কমান্ড চালাব তা নিয়ে আমাদের ধন্দের মধ্যে থাকা যাবে না, বরং এগুলোকে অনেকটা মাসল মেমোরিতে নিয়ে আসতে হবে। আর এর জন্য যে দুটি জিনিস প্রয়োজন তা হলো : নিয়মিত হওয়া এবং বেশি বেশি অনুশীলন করা। আশা করি, এই বইটি পাঠকদের জাভা প্রোগ্রামিংয়ের ওপর দক্ষতা অর্জনের লক্ষ্যে অনুশীলন করতে সহায়ক এবং একটি সুন্দর পাথেয় হবে।
মানুষ ভুলত্রুটি ঊর্ধ্বে নয়। অনেক বার রিভিউয়ের পরও কিছু ভুলত্রুটি হয়তো থেকে গেছে। আশা করছি পাঠক ক্ষমাসুন্দর দৃষ্টিতে দেখবেন। যেকোনো পরামর্শ, অনুরোধ কিংবা প্রশ্নের জন্য নিচে একটি ইমেইল অ্যাড্রেস দিয়ে দিয়ে দিলাম।
A N M Bazlur Rahman is a Java Champion, software engineer, author, and community leader based in Toronto, Canada. He is a Senior Staff Software Engineer at Hammerspace, where he works on large-scale distributed systems and infrastructure.
Bazlur is the author of the book Modern Concurrency in Java, which explores modern Java concurrency including virtual threads and structured concurrency. His work focuses on building scalable systems, improving developer productivity, and helping engineers understand the evolving concurrency model of the Java platform.
He is a contributing editor at InfoQ and an active voice in the global Java community. Bazlur regularly speaks at international conferences and developer events, sharing insights on modern Java, concurrency, distributed systems, and AI-powered software development.
Beyond speaking and writing, Bazlur is passionate about community building. He founded the Bangladesh Java User Group and has been mentoring developers and promoting Java education for more than a decade.
When he is not coding or writing, Bazlur enjoys experimenting with new technologies, building developer tools, and spending time with his family.
জাভা শিখার জন্য ইংরেজিতে খুব ভাল কিছু বই আছে যেমন- 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.