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

বস্তুমুখী প্রোগ্রামিং ভাষা

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

জাভা
প্যারাডাইমঅবজেক্ট ওরিয়েন্টেড, স্ট্রাকচার্ড, ইমপেরাটিভ
নকশাকারজেমস গসলিং
বিকাশকারীসান মাইক্রোসিস্টেম্‌স বর্তমানে যার স্বত্বাধীকারী ওরাকল কর্পোরেশন
প্রথম প্রদর্শিত২৩ মে ১৯৯৫; ২৮ বছর আগে (1995-05-23)[১]
টাইপিং পদ্ধতিস্ট্যাটিক, নিরাপদ, শক্তিশালী, নমিনেটিভ
ওএসআন্ত-প্লাটফর্ম
লাইসেন্সগনু জেনারেল পাবলিক লাইসেন্স / জাভা কমিউনিটি প্রোসেস
ফাইলনেম এক্সটেনশন.java, .class, .jar, .jmod
ওয়েবসাইটoracle.com/java/, java.com, dev.java
মুখ্য বাস্তবায়নসমূহ
অসংখ্য
যার দ্বারা প্রভাবিত
অবজেক্টিভ-সি, সি++, স্মলটক, আইফেল,[২] সি#[৩]
যাকে প্রভাবিত করেছে
সি#, ডি, জে#, আডা ২০০৫, ইসিএমএস্ক্রিপ্ট, স্ক্যালা, কোটলিন
জেমস গসলিং, জাভা প্রোগ্রামিং ভাষার জনক

ইতিহাস

ডিওক, জাভা মাসকট

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

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

জাভা'র গুরুত্বপূর্ণ দিকগুলো

বহনযোগ্যতা

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

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

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

মূলনীতি

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

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

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

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

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

জাভা প্রোগ্রাম কীভাবে কাজ করে

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

বাক্যরীতি

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

ডাটা কাঠামো/স্ট্রাকচার

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

সাধারণ/মৌলিক ডাটা টাইপগুলো

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

প্রযুক্তিসমূহ

ওরাকল দ্বারা

প্লাটফর্ম

তৃতীয় পক্ষের প্রধান প্রযুক্তিসমূহ

  • নেটবিনস – সমন্বিত বিকাশ কাঠামো
  • এক্লিপসসমন্বিত বিকাশ কাঠামো
  • গুগল ওয়েব টুলকিটসম্মুখ প্রান্ত টুল
  • হাইবারনেটঅবজেক্ট-রিলেশনাল ম্যাপিং টুল
  • স্প্রিং কাঠামোঅ্যাপ্লিকেশন ফ্রেমওয়ার্ক
  • অ্যাপাচি স্ট্রাটস - অ্যাপ্লিকেশন ফ্রেমওয়ার্ক
  • ওরাকল টপলিংক - অবজেক্ট-রিলেশনাল ম্যাপিং টুল
  • ওয়াইল্ডফ্লাই - এপ্লিকেশন সার্ভার

আরও দেখুন

তথ্যসূত্র

বহিঃসংযোগ

🔥 Top keywords: রাম নবমীমুজিবনগর দিবসপ্রধান পাতামুজিবনগর সরকারবিশেষ:অনুসন্ধানইন্ডিয়ান প্রিমিয়ার লিগএক্স এক্স এক্স এক্স (অ্যালবাম)বাংলাদেশবাংলা ভাষামিয়া খলিফারাজকুমার (২০২৪-এর চলচ্চিত্র)আনন্দবাজার পত্রিকাআবহাওয়ারামপহেলা বৈশাখউয়েফা চ্যাম্পিয়নস লিগইসরায়েলইরানরবীন্দ্রনাথ ঠাকুরমুজিবনগরইন্না লিল্লাহি ওয়া ইন্না ইলাইহি রাজিউনরিয়াল মাদ্রিদ ফুটবল ক্লাব২০২৪ ইন্ডিয়ান প্রিমিয়ার লিগক্লিওপেট্রাচর্যাপদভূমি পরিমাপশেখ মুজিবুর রহমানজনি সিন্সকাজী নজরুল ইসলামঈদুল আযহাফিলিস্তিনইউটিউবভারতবিকাশআসসালামু আলাইকুমসৌদি আরববাংলা প্রবাদ-প্রবচনের তালিকামুহাম্মাদ