text: right|thumb|জেমস গসলিং, জাভা প্রোগ্রামিং ভাষার জনক 
  
  জাভা একটি প্রোগ্রামিং ভাষা। সান মাইক্রোসিস্টেম ৯০এর দশকের গোড়ার দিকে জাভা ডিজাইন করার পরে এটি অতি দ্রুত বিশ্বের সবচেয়ে জনপ্রিয় প্রোগ্রামিং ভাষার একটিতে পরিণত হয়। জাভা'র এই জনপ্রিয়তার মুল কারণ এর বহনযোগ্যতা (portability), নিরাপত্তা, এবং অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ও ওয়েব প্রোগ্রামিং এর প্রতি পরিপূর্ণ সাপোর্ট।
  
  ইতিহাস 
  thumb|upright|Duke, the Java mascot|ডিওক, জাভা মাসকট
  James Gosling, Mike Sheridan, এবং Patrick Naughton ১৯৯১ সালের জুনে জাভা ল্যাঙ্গুয়েজ প্রোজেক্ট শুরু করেন। প্রাথমিকদিকে জাভা ল্যাঙ্গুয়েজকে "ওক(Oak)" বলা হত। জেমস গসলিং এর অফিসের বাহিরের ওক গাছের সাথে মিল রেখে এই নাম রাখা হয়। এরপর এর নাম রাখা হয় "গ্রীন" এবং অবশেষে জাভা কফির সাথে মিল রেখে "জাভা"তে পরিবর্তন করা হয়।
  ১৯৯৫ সালে সান মাইক্রোসিস্টেমস জাভা-১.০ প্রকাশ করেন। তাদের মূলনীতি ছিল "একবার লিখুন, যে কোনো জায়গায় চালান (Write Once, Run Anywhere or WORA)"।
  জাভার উল্লেখযোগ্য সংস্করণের মধ্যে অন্যতম হল -
  
   জেডিকে ১.০ (জানুয়ারী ২১, ১৯৯৬)
   জেডিকে ১.১ (ফেব্রুয়ারি ১৯, ১৯৯৭)
   জে২এসই ১.২ (ডিসেম্বর ৮, ১৯৯৮)
   জে২এসই ১.৩ (মে ৮, ২০০০)
   জে২এসই ১.৪ (ফেব্রুয়ারি ৬, ২০০২)
   জে২এসই ৫.০ (সেপ্টেম্বর ৩০, ২০০৪)
   জাভা এসই ৬ (ডিসেম্বর ১১, ২০০৬)
   জাভা এসই ৭ (জুলাই ২৮, ২০১১)
   জাভা এসই ৮ (মার্চ ১৮, ২০১৪)
   জাভা এসই ৯ (সেপ্টেম্বর ২১,২০১৭)
   জাভা এসই ১০ (মার্চ ২০,২০১৮)
   জাভা এসই ১১ (সেপ্টেম্বর ২৫,২০১৮)
   জাভা এসই ১২ (মার্চ ১৯, ২০১৯)
   জাভা এসই ১৩ (মার্চ ১৭, ২০১৯)
   জাভা এসই ১৪ (মার্চ ১৭, ২০২০)
  
  জাভা'র গুরুত্বপূর্ণ দিকগুলো
  
  বহনযোগ্যতা 
  জাভা'র পূর্বতন প্রোগ্রামিং ভাষাগুলিতে সাধারণত এক অপারেটিং সিস্টেমের জন্য লেখা প্রোগ্রাম অন্য অপারেটিং সিস্টেম এ চালানো যেত না। জাভায় লেখা প্রোগ্রাম যেকোন অপারেটিং সিস্টেমে চালানো যায় শুধু যদি সেই অপারেটিং সিস্টেমের জন্য একটি জাভা রানটাইম এনভায়রনমেন্ট(জাভা ভার্চুয়াল মেশিন)থেকে থাকে। এই সুবিধা জাভাকে একটি অনন্য প্ল্যাটফর্মে পরিণত করে। বিশেষ করে ইন্টারনেটে, যেখানে অসংখ্য কম্পিউটার যুক্ত থাকে এবং কম্পিউটারগুলো বিভিন্ন অপারেটিং সিস্টেম ব্যবহার করে থাকে সেখানে জাভায় লেখা অ্যাপলেট গুলো সকল কম্পিউটারে চলতে পারে এবং এর জন্য কোন বিশেষ ব্যবস্থা নিতে হয় না। জাভা'র এই সুবিধাকে বলা হয় বহনযোগ্যতা।
  
  অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং 
  অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং জাভা'র খুবই গুরুত্বপূর্ণ দিক। প্রোগ্রামিং জগতে মুলত সিমুলা৬৭ (প্রোগ্রামিং ভাষা) এবং স্মলটক (প্রোগ্রামিং ভাষা) এর মাধ্যমে অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং এর সূচনা হলেও, জাভা'র মাধ্যমেই এটি পরিপূর্ণভাবে বিকশিত হতে পেরেছে। অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং এর কারণে জাভায় অতিদীর্ঘ প্রোগ্রাম লেখা এবং ত্রুটিমুক্ত(debug) করা অনেক সহজ হয়েছে।
  
  মূলনীতি 
  
  ১. এটি হবে সরল, অবজেক্ট ওরিয়েন্টেড এবং পরিচিত।
  
  ২. এটি হবে শক্তিশালী এবং সুরক্ষিত।
  
  ৩. এটি কোন নির্দিষ্ট প্লাটফর্মের উপর নির্ভর করবে না আর এর থাকবে বহনযোগ্যতা।
  
  ৪. এটি অনেক উচ্চ কার্যশীলতাসম্পন্ন হবে।
  
  ৫. এটি হবে ইন্টারপ্রিটেড, থ্রেডেড এবং ডাইনামিক।
  
  জাভা প্রোগ্রাম কিভাবে কাজ করে 
  জাভাতে লেখা কোড কম্পাইল হয়ে সরাসরি মেশিন কোড-এ রূপান্তরিত হয় না। বরং তা বাইট কোড নামক বিশেষ একটি মধ্যবর্তি অবস্থায় আসে যা .class ফাইলে থাকে। এই ক্লাস ফাইল সরাসরি চলতে পারে না। একে চালাতে গেলে জাভা ভার্চুয়াল মেশিন এর মাধ্যমে চালাতে হয়। কারণ বাইট কোড কেবলমাত্র জাভা ভার্চুয়াল মেশিন বুঝতে পারে ।
  
  বাক্যরীতি 
  জাভার বাক্যরীতি মুলত সি++ থেকে নেওয়া। সি++ এর মত এতে বাক্যরীতি রয়েছে স্ট্রাকচারড, জেনেরিক এবং অবজেক্ট অরিয়েন্টেড প্রোগ্রামিং এর জন্য। তবে সি++ বিশুদ্ধ অবজেক্ট অরিয়েন্টেড না হলেও জাভা বিশুদ্ধ অবজেক্ট অরিয়েন্টেড প্রোগ্রামিং ভাষা।
  
  ডাটা কাঠামো/স্ট্রাকচার 
  জাভাতে এগুলোর জন্য আলাদা বাক্যরীতি রয়েছে। উল্লেখ্য, এরে এবং স্ট্রিং সাধারণ/primitive ডাটা টাইপ নয়, তারা reference ডাটা টাইপ এবং তাদের কে java.lang.Object থেকে আনা হয়।
  
  সাধারন/primitive ডাটা টাইপগুলো
  
  প্রযুক্তিসমূহ
  
  ওরাকল দ্বারা
  
  প্লাটফর্ম
  
  তৃতীয় পক্ষের প্রধান প্রযুক্তিসমূহ 
   নেটবিনস – সমন্বিত বিকাশ কাঠামো
   এক্লিপস – সমন্বিত বিকাশ কাঠামো
   গুগল ওয়েব টুলকিট – সম্মুখ প্রান্ত টুল
   হাইবারনেট – অবজেক্ট-রিলেশনাল ম্যাপিং টুল
   স্প্রিং কাঠামো – অ্যাপ্লিকেশন ফ্রেমওয়ার্ক
   অ্যাপাচি স্ট্রাটস - অ্যাপ্লিকেশন ফ্রেমওয়ার্ক
   ওরাকল টপলিংক - অবজেক্ট-রিলেশনাল ম্যাপিং টুল
   ওয়াইল্ডফ্লাই - এপ্লিকেশন সার্ভার
  
  আরো দেখুন 
   স্প্রিং কাঠামো
  
  তথ্যসূত্র
  
  বহিঃসংযোগ 
   Sun Microsystems: Java home page
   Sun Microsystems: Developer Resources for Java Technology.
   Chamber of Chartered Java Professionals International: Professionalism for Java Technology.
   Sun Microsystems: Java Language Specification 3rd Edition.
   
   A Brief History of the Green Project
   Michael O'Connell: Java: The Inside Story, SunWord, July 1995.
   Patrick Naughton: Java Was Strongly Influenced by Objective-C (no date).
   David Bank: The Java Saga, Wired Issue 3.12 (December 1995).
   Shahrooz Feizabadi: A history of Java in: Marc Abrams, ed., World Wide Web – Beyond the Basics, Prentice Hall, 1998.
   Patrick Naughton: The Long Strange Trip to Java, March 18, 1996.
   Open University (UK): M254 Java Everywhere (free open content documents).
   is-research GmbH: List of programming languages for a Java Virtual Machine.
   How Java's Floating-Point Hurts Everyone Everywhere, by W. Kahan and Joseph D. Darcy, University of California, Berkeley.
  
  বিষয়শ্রেণী:প্রোগ্রামিং ভাষা
  বিষয়শ্রেণী:ক্লাস-ভিত্তিক প্রোগ্রামিং ভাষা
  বিষয়শ্রেণী:জাভা প্রোগ্রামিং
  বিষয়শ্রেণী:জাভা প্ল্যাটফর্ম
  বিষয়শ্রেণী:বস্তু-সংশ্লিষ্ট প্রোগ্রামিং ভাষা
title: জাভা (প্রোগ্রামিং ভাষা)