জাভা (প্রোগ্রামিং ভাষা)

উইকিপিডিয়া, মুক্ত বিশ্বকোষ থেকে
Jump to navigation Jump to search
জাভা
প্যারাডাইমঅবজেক্ট ওরিয়েন্টেড, স্ট্রাকচার্ড, ইমপেরাটিভ
আবির্ভাব১৯৯৫ (১৯৯৫)[১]
ডিজাইন করেছেনজেমস গসলিং (James Gosling)
ডেভেলপারসান মাইক্রোসিস্টেম্‌স বর্তমানে যার স্বত্বাধীকারী ওরাকল কর্পোরেশন
সর্বশেষ প্রকাশজাভা স্ট্যান্ডার্ড সংস্করণ ৯.০.১ বিল্ড ১১ (৯.০.১+১১)/ অক্টোবর ১৭, ২০১৭; ১০ মাস আগে (২০১৭-১০-১৭)
টাইপিং ডিসিপ্লিনস্ট্যাটিক, নিরাপদ, শক্তিশালী, নমিনেটিভ
প্রধান বাস্তবায়নঅসংখ্য
যার দ্বারা প্রভাবিতঅবজেক্টিভ-সি, সি++, স্মলটক, আইফেল,[২] সি#[৩]
যাকে প্রভাবিত করেছেসি#, ডি, জে#, আডা ২০০৫, ইসিএমএস্ক্রিপ্ট, স্ক্যালা
ওএসআন্ত-প্লাটফর্ম
বৈধপত্রগনু জেনারেল পাবলিক লাইসেন্স / জাভা কমিউনিটি প্রোসেস
ওয়েবসাইটhttp://java.sun.com/
জেমস গসলিং, জাভা প্রোগ্রামিং ভাষার জনক

জাভা একটি প্রোগ্রামিং ভাষাসান মাইক্রোসিস্টেম ৯০এর দশকের গোড়ার দিকে জাভা ডিজাইন করার পরে এটি অতি দ্রুত বিশ্বের সবচেয়ে জনপ্রিয় প্রোগ্রামিং ভাষার একটিতে পরিণত হয়। জাভা'র এই জনপ্রিয়তার মুল কারণ এর বহনযোগ্যতা (portability), নিরাপত্তা, এবং অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং ও ওয়েব প্রোগ্রামিং এর প্রতি পরিপূর্ণ সাপোর্ট।

ইতিহাস[সম্পাদনা]

Duke, the Java mascot

James Gosling, Mike Sheridan, এবং Patrick Naughton ১৯৯১ সালের জুনে জাভা ল্যাঙ্গুয়েজ প্রোজেক্ট শুরু করেন। প্রাথমিকদিকে জাভা ল্যাঙ্গুয়েজকে "ওক(Oak)" বলা হত। জেমস গসলিং এর অফিসের বাহিরের ওক গাছের সাথে মিল রেখে এই নাম রাখা হয়। এরপর এর নাম রাখা হয় "গ্রীন" এবং অবশেষে জাভা কফির সাথে মিল রেখে "জাভা"তে পরিবর্তন করা হয়। ১৯৯৫ সালে সান মাইক্রোসিস্টেমস জাভা-১.০ প্রকাশ করেন। তাদের মূলনীতি ছিল "একবার লিখুন, যে কোনো জায়গায় চালান (Write Once, Run Anywhere or WORA)"। জাভার উল্লেখযোগ্য সংস্করণের মধ্যে অন্যতম হল -

  • জেডিকে ১.০ (জানুয়ারী ২১, ১৯৯৬)
  • জেডিকে ১.১ (ফেব্রুয়ারী ১৯, ১৯৯৭)
  • জে২এসই ১.২ (ডিসেম্বর ৮, ১৯৯৮)
  • জে২এসই ১.৩ (মে ৮, ২০০০)
  • জে২এসই ১.৪ (ফেব্রুয়ারী ৬, ২০০২)
  • জে২এসই ৫.০ (সেপ্টেম্বর ৩০, ২০০৪)
  • জাভা এসই ৬ (ডিসেম্বর ১১, ২০০৬)
  • জাভা এসই ৭ (জুলাই ২৮, ২০১১)
  • জাভা এসই ৮ (মার্চ ১৮, ২০১৪)

জাভা'র গুরুত্বপূর্ণ দিকগুলো[সম্পাদনা]

বহনযোগ্যতা (portability)[সম্পাদনা]

জাভা'র পূর্বতন প্রোগ্রামিং ভাষাগুলিতে সাধারণত এক অপারেটিং সিস্টেমের জন্য লেখা প্রোগ্রাম অন্য অপারেটিং সিস্টেম এ চালানো যেত না। জাভায় লেখা প্রোগ্রাম যেকোন অপারেটিং সিস্টেমে চালানো যায় শুধু যদি সেই অপারেটিং সিস্টেমের জন্য একটি জাভা রানটাইম এনভায়রনমেন্ট(জাভা ভার্চুয়াল মেশিন)থেকে থাকে। এই সুবিধা জাভাকে একটি অনন্য প্ল্যাটফর্মে পরিণত করে। বিশেষ করে ইন্টারনেটে, যেখানে অসংখ্য কম্পিউটার যুক্ত থাকে এবং কম্পিউটারগুলো বিভিন্ন অপারেটিং সিস্টেম ব্যবহার করে থাকে সেখানে জাভায় লেখা অ্যাপলেট গুলো সকল কম্পিউটারে চলতে পারে এবং এর জন্য কোন বিশেষ ব্যবস্থা নিতে হয় না। জাভা'র এই সুবিধাকে বলা হয় বহনযোগ্যতা।

অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং[সম্পাদনা]

অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং জাভা'র খুবই গুরুত্বপূর্ণ দিক। প্রোগ্রামিং জগতে মুলত সিমুলা৬৭ (প্রোগ্রামিং ভাষা) এবং স্মলটক (প্রোগ্রামিং ভাষা) এর মাধ্যমে অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং এর সূচনা হলেও, জাভা'র মাধ্যমেই এটি পরিপূর্ণভাবে বিকশিত হতে পেরেছে। অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং এর কারণে জাভায় অতিদীর্ঘ প্রোগ্রাম লেখা এবং ত্রুটিমুক্ত(debug) করা অনেক সহজ হয়েছে।

মূলনীতি[সম্পাদনা]

১. এটি হবে সরল, অবজেক্ট ওরিয়েন্টেড এবং পরিচিত।

২. এটি হবে শক্তিশালী এবং সুরক্ষিত।

৩. এটি কোন নির্দিষ্ট প্লাটফর্মের উপর নির্ভর করবে না আর এর থাকবে বহনযোগ্যতা।

৪. এটি অনেক উচ্চ কার্যশীলতাসম্পন্ন হবে।

৫. এটি হবে ইন্টারপ্রিটেড, থ্রেডেড এবং ডাইনামিক।

জাভা প্রোগ্রাম কিভাবে কাজ করে[সম্পাদনা]

জাভাতে লেখা কোড কম্পাইল হয়ে সরাসরি মেশিন কোড-এ রূপান্তরিত হয় না। বরং তা বাইট কোড নামক বিশেষ একটি মধ্যবর্তি অবস্থায় আসে যা .class ফাইলে থাকে। এই ক্লাস ফাইল সরাসরি চলতে পারে না। একে চালাতে গেলে জাভা ভার্চুয়াল মেশিন এর মাধ্যমে চালাতে হয়। কারণ বাইট কোড কেবলমাত্র জাভা ভার্চুয়াল মেশিন বুঝতে পারে ।

বাক্যরীতি[সম্পাদনা]

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

ডাটা কাঠামো/স্ট্রাকচার[সম্পাদনা]

জাভাতে এগুলোর জন্য আলাদা বাক্যরীতি রয়েছে। উল্লেখ্য, এরে এবং স্ট্রিং সাধারণ/primitive ডাটা টাইপ নয়, তারা reference ডাটা টাইপ এবং তাদের কে java.lang.Object থেকে আনা হয়।

সাধারন/primitive ডাটা টাইপগুলো[সম্পাদনা]

Integer টাইপগুলো
byte ৮-বিট
short ১৬-বিট
int ৩২-বিট
long ৬৪-বিট
Floating-point টাইপগুলো
float ৩২-বিট
double ৬৪-বিট
Characters
char ১৬-বিট ইউনিকোড
Boolean
boolean true বা false

তথ্যসূত্র[সম্পাদনা]

  1. "The History of Java Technology"। সংগ্রহের তারিখ অক্টোবর ৬, ২০১২ 
  2. Gosling and McGilton (মে ১৯৯৬)। "The Java Language Environment" 
  3. Java 5.0 added several new language features (the enhanced for loop, autoboxing, varargs and annotations), after they were introduced in the similar (and competing) C# language. [১][২]

বহিঃসংযোগ[সম্পাদনা]