জাভা কি ? জাভা কিভাবে কাজ করে ?: Revision

জাভা কি ?
জাভা হচ্ছে একটি অবজেক্ট ওরিয়েন্টেড  প্রোগ্রামিং ল্যাঙ্গুয়েজ। ১৯৯১ সালে সান মাইক্রোসিস্টেমে (sun microsystem) জেমস গসলিং ( James Gosling ) এর নেতৃত্বে একটি টিম জাভা ডেভেলপ করেছিলেন। জাভা এর বেশিরভাগ সিনট্যাক্স সি এবং সি++ থেকে নেয়া। জাভা প্রোগ্রামিং ভাষা সহজ এবং এর  বহনযোগ্যতা (portability), নিরাপত্তা ও  কর্যক্ষমতার কারণে ওয়েব এবং সফটওয়্যার ডেভেলপারদের কাছে জাভা বেশ জনপ্রিয়। জাভার সবচেয়ে বড় সুবিদা হচ্ছে জাভা প্রোগ্রাম যেকোন অপারেটিং সিস্টেমে (Windows, Mac, Linux) রান করানো যায় যা অন্য প্রোগ্রামিং ল্যাঙ্গুয়েজের ক্ষেত্রে করা যায় না। ২০১০ সালে ওরাকল (oracle) সান মাইক্রোসিস্টেমকে কিনে নেয়।


জাভা কিভাবে কাজ করে?
আমরা যখন জাভা প্রোগ্রামিং ভাষায় প্রোগ্রামস লিখব তখন আমাদের সেই ভাষাকে মেশিন ভাষায় রুপান্তরের জন্যে আমাদেরকে কম্পাইলার (Compiler) বা ইন্টারপ্রিটার (Interpreter) এর প্রয়োজন হয়। কম্পাইলার এবং ইন্টারপ্রিটারের মধ্যে পার্থক্য আছে। কম্পাইলার যেকোন Statement এক্সিকিউটের পূর্বে সম্পুর্ণ প্রোগ্রামকে ট্রান্সলেট করে তারপর প্রোগ্রাম এক্সিকিউট করে। অপরদিকে ইন্টারপ্রিটার একই সময়ে একটি প্রোগ্রাম স্টেটমেন্ট ট্রান্সলেট করে সেটি যতদ্রুত সম্ভব এক্সিউকিউট করে। যেমন একটা প্রোগ্রামে যদি পাঁচটা Statement থাকে তাহলে কম্পাইলার সেই পাঁচটা Statement ট্রান্সলেট করবে তারপর এক্সিকিউট করবে অপরদিকে ইন্টারপ্রিটার প্রোগ্রামের প্রথম Statement টা ট্রান্সলেট করে সেটি এক্সিকিউট করবে তারপর দ্বিতীয় Statement ট্রান্সলেট করে এক্সিকিউট করবে এইভাবে পাঁচটা Statement এক্সিকিউট করবে।
জাভা কোড বিভিন্ন কম্পিউটার এবং ডিভাইসে রান করানো যায় কারণ এটি সরাসরি কম্পিউটারে ইন্সট্রাকশন এক্সিকিউট করে না। জাভা প্রোগ্রামকে  কম্পাইল করলে এটি একটি অন্তরবর্তীকালীন ল্যাঙ্গুয়েজে কনভার্ট হয়। এই অন্তরবর্তীকালীন ল্যাঙ্গুয়েজ হিউম্যান রিডেবল না আবার মেশিন রিডেবল ও না। একে বাইট কোড (Byte Code) বলে। এই বাইট কোডকে জাভা ভার্চুয়াল মেশিন (JVM) নামক একটি হাইপোথেটিক্যাল কম্পিউটার বুঝতে পারে। JVM এর মধ্যে থাকা ইন্টারপ্রিটার (Interpreter) সেই বাইট কোডকে লাইন-বাই-লাইন চেক করে এক্সিকিউট করে তারপর JVM বাইট কোডকে মেশিন কোডে রূপান্তর করে। এইভাবে জাভা প্রোগ্রাম কাজ করে।