Lesson পড়তে ৫ মিনিট লাগবে

জাভা (Java) কেন শিখবেন?

ব্যাংক, অ্যান্ড্রয়েড এবং বিলিয়ন-ইউজার সিস্টেম — জাভা সব চালায়

এন্টারপ্রাইজ কাজের ঘোড়া

জাভাকে টয়োটা ক্যামরির সাথে তুলনা করা যায় — এটি সবচেয়ে চোখধাঁধানো বা সবচেয়ে ট্রেন্ডি নয়, কিন্তু এটি সব জায়গায় আছে, এটি নির্ভরযোগ্য এবং এটি অবিরত চলতেই থাকে। ১৯৯৫ সালে "একবার লিখুন, সব জায়গায় চালান (Write Once, Run Anywhere)" স্লোগান নিয়ে জন্ম নেওয়া জাভা গত তিন দশক ধরে প্রমাণ করে আসছে যে কথাটি একদম সত্য।

আপনার ব্যাংক? জাভা। এয়ারলাইনের বুকিং সিস্টেম? জাভা। অ্যামাজন, লিংকডইন, উবারের ব্যাকএন্ড? জাভা। প্রায় ৩ বিলিয়ন (৩০০ কোটি) ডিভাইস জাভায় চলে। যখন ঝুঁকি অনেক বেশি থাকে এবং ব্যর্থতার কোনো সুযোগ থাকে না, তখন বড় কোম্পানিগুলো জাভার কাছেই ফিরে যায়।

একবার লিখুন, সব জায়গায় চালান

বেশিরভাগ ভাষা কোনো নির্দিষ্ট অপারেটিং সিস্টেমের জন্য কোড কম্পাইল করে — যেমন, উইন্ডোজে কম্পাইল করা প্রোগ্রাম ম্যাকে চলবে না। কিন্তু জাভা খুব চতুর একটি কাজ করে: এটি বাইটকোডে (bytecode) রূপান্তরিত হয় যা সরাসরি জাভা ভার্চুয়াল মেশিন বা জেভিএম (JVM)-এ রান করে। এই জেভিএম (JVM) প্রতিটি বড় প্ল্যাটফর্মে — যেমন উইন্ডোজ, ম্যাক, লিনাক্স, অ্যান্ড্রয়েড এ বিদ্যমান থাকে, তাই আপনার কোড কোনো পরিবর্তন ছাড়াই সর্বত্র চলতে পারে।

আর এ কারণেই এন্টারপ্রাইজ সফটওয়্যারে জাভা রাজত্ব করে। কোম্পানিগুলোর লিনাক্সে চলা সার্ভার, ম্যাকে কাজ করা ডেভেলপার এবং উইন্ডোজ ব্যবহার করা ম্যানেজার থাকতে পারে। জাভা এসবে পাত্তা দেয় না — এটি সবার সিস্টেমেই সমানভাবে কাজ করে।

হ্যালো ওয়ার্ল্ড — জাভা স্টাইল

public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
// জাভা বেশ সবিস্তার বা ভার্বোস, কিন্তু এর প্রতিটা শব্দেরই আলাদা মানে আছে
// public → যেকোনো জায়গা থেকে যুক্ত হওয়া যায়
// static → আগে কোনো অবজেক্ট তৈরি করার দরকার নেই
// void → কিছুই রিটার্ন করে না
// main → প্রতিটি জাভা প্রোগ্রামের শুরুর অংশ
// String[] args → কমান্ড-লাইনের আর্গুমেন্টস
}
}
Output
Hello, World!

হ্যাঁ, মাত্র একটি "হ্যালো ওয়ার্ল্ড" এর জন্য এটি আসলে অনেক বড় আকারের বয়লারপ্লেট (boilerplate) কোড। জাভা সুস্পষ্ট বা এক্সপ্লিসিট (explicit) — এটি আপনাকে সব কিছু ভেঙে ভেঙে লিখতে বাধ্য করে। প্রথম দিকে এটি বিরক্তিকর মনে হলেও, ১০ মিলিয়ন লাইন আর ৫০০ ডেভেলপারের একটি কোডবেসে এই স্পষ্টতাই সবকিছুকে ঠিকঠাক রাখে।

জাভা দিয়ে আপনি কী বানাতে পারবেন?

  • অ্যান্ড্রয়েড অ্যাপস — অ্যান্ড্রয়েড ডেভেলপমেন্টের আদি ভাষা হলো জাভা। কটলিন (Kotlin) পরে যোগ দিলেও, অ্যান্ড্রয়েড কোডবেসে জাভার রাজত্ব এখনও ব্যাপক।
  • এন্টারপ্রাইজ ব্যাকএন্ড সিস্টেম — এন্টারপ্রাইজ জাভাতে স্প্রিং বুট (Spring Boot) এর একচ্ছত্র আধিপত্য। ব্যাংক, ইন্সুরেন্স কোম্পানি এবং ফরচুন ৫০০ (Fortune 500) কোম্পানিগুলো তাদের গুরুত্বপূর্ণ সিস্টেম জাভা দিয়ে তৈরি করে।
  • বিগ ডেটা — হাডুপ (Hadoop), অ্যাপাচি স্পার্ক (Apache Spark), কাফকা (Kafka), ইলাস্টিকসার্চ (Elasticsearch) — পুরো বিগ ডেটা ইকোসিস্টেমই জাভার ওপর দাঁড়িয়ে।
  • ওয়েব অ্যাপ্লিকেশন — স্প্রিং (Spring), জাকার্তা ইই (Jakarta EE - আগে যার নাম ছিল Java EE) বড় বড় ওয়েব প্ল্যাটফর্মগুলোকে চালায়।
  • ক্লাউড ও মাইক্রোসার্ভিসেস — স্প্রিং ক্লাউড (Spring Cloud), কোয়ারকাস (Quarkus), মাইক্রোনট (Micronaut) — ইত্যাদি টুলস জাভায় ফার্স্ট-ক্লাস ক্লাউড সাপোর্ট দেয়।
  • গেম ডেভেলপমেন্ট — মাইনক্রাফট (Minecraft) জাভায় লেখা হয়েছিল। লিবজিডিএক্স (LibGDX) একটি জনপ্রিয় জাভা গেম ফ্রেমওয়ার্ক।
  • বৈজ্ঞানিক গবেষণা বা কম্পিউটিং — বিভিন্ন গবেষণা প্রতিষ্ঠান এবং নাসার (NASA) মিশনে ব্যবহৃত হয়।

টাইপ সিস্টেম আপনাকে বাঁচিয়ে দেয়

জাভা স্ট্যাটিক্যালি টাইপড (statically typed) — প্রতিটি ভেরিয়েবল কোন ধরনের বা টাইপের তা আপনাকে ঘোষণা করতে হয়, এবং কম্পাইলার কোড রান হওয়ার আগেই সব ভুল ধরে ফেলে। পাইথন বা জাভাস্ক্রিপ্টের মতো ডায়নামিকভাবে টাইপ করা ভাষাগুলোতে ভেরিয়েবলের নামের কোনো ভুল হয়তো সবার অলক্ষ্যে থেকে যেতে পারে। এটি হয়তো রাত ২টার সময় প্রোডাকশনে কোনো ইউজারের সামনে গিয়ে ধরা পড়তে পারে।

জাভা এই ভুলগুলো কম্পাইল করার সময়ই ধরে। টাইপ এরর থাকলে আপনার কোড তৈরি বা রান-ই হবে না। এটি কঠোর, কিন্তু এটি ঠিক সেই ধরনের কঠোরতা যা আপনাকে আপনার নিজের তৈরি বিপদের হাত থেকেই বাঁচায়।

Note: জাভা নিয়ে সবচেয়ে সাধারণ সমালোচনা হলো এর অতিরিক্ত কোড বা ভার্বোসিটি (verbosity)। তবে আধুনিক জাভা (Java 17+) আগের থেকে অনেক উন্নত হয়েছে — রেকর্ডস, var কিওয়ার্ড, টেক্সট ব্লক, প্যাটার্ন ম্যাচিং এবং সিলড ক্লাস (sealed classes) জাভাকে আগের চেয়েও সুন্দর ও ছিমছাম করেছে। এটি এখন আর আপনার বাবা-কাকাদের আমলের সেই ধীর গতির জাভা নয়।

এর ক্যারিয়ারের বাজার বেশ শক্তপোক্ত

জাভা ধারাবাহিকভাবে চাহিদার শীর্ষে থাকা সেরা ৩টি প্রোগ্রামিং ভাষার তালিকায় থাকে। বড় এবং স্থিতিশীল কোম্পানিতে কাজ হয় বলে এই চাকরিগুলোর বেতন বেশ ভালো হয়:

  • ব্যাকএন্ড ইঞ্জিনিয়ার — স্প্রিং বুট এপিআই, মাইক্রোসার্ভিস, ডিস্ট্রিবিউটেড সিস্টেম গঠন।
  • অ্যান্ড্রয়েড ডেভেলপার — কটলিনের উত্থানের পরও জাভার জ্ঞান অপরিহার্য।
  • ডেটা ইঞ্জিনিয়ার — হাডুপ, স্পার্ক, কাফকা — সবই জেভিএম (JVM) নির্ভর।
  • এন্টারপ্রাইজ আর্কিটেক্ট — ব্যাংক, স্বাস্থ্যসেবা ও সরকারি কাজের জন্য বড় মাপের সিস্টেম ডিজাইন করা।
  • ডেভঅপস (DevOps) / এসআরই (SRE) — তদারকি থেকে শুরু করে অপটিমাইজেশন পর্যন্ত প্রোডাকশন সিস্টেমগুলোর একটি বড় অংশ জাভার।

জাভা ডেভেলপাররা কোনো ট্রেন্ড বা ফ্যাশনের পেছনে ছোটেন না — তারা এমন সিস্টেম তৈরি করেন যার ওপর পৃথিবী নির্ভর করে।

কারা জাভা ব্যবহার করে?

  • গুগল — অ্যান্ড্রয়েড এসডিকে (SDK), অভ্যন্তরীণ সিস্টেম এবং ব্যাকএন্ড পরিষেবা।
  • অ্যামাজন — এডব্লিউএস (AWS) পরিষেবার বৃহৎ অংশ এবং রিটেইল ব্যাকএন্ড।
  • নেটফ্লিক্স — ব্যাকএন্ড মাইক্রোসার্ভিস, যা তাদের ২০ কোটি সাবস্ক্রাইবার সামলায়।
  • লিংকডইন — পুরো ব্যাকএন্ড পরিকাঠামো।
  • উবার (Uber) — কোর বা প্রধান ডিসপ্যাচ ও ম্যাচিং সিস্টেম।
  • প্রধান বা বড় ব্যাংকগুলো — জেপি মরগ্যান (JPMorgan), গোল্ডম্যান স্যাকস (Goldman Sachs) সহ প্রায় প্রতিটি অর্থনৈতিক প্রতিষ্ঠান।

ছোট কুইজ

জাভায় "একবার লিখুন, সব জায়গায় চালান (Write Once, Run Anywhere)" বলতে কী বোঝায়?

পড়া চালিয়ে যান

Variables & Data Types