আমি জেভিএম বাস্তবায়নের সাথে জড়িত না হয়ে প্রকৃত কারণগুলি জানি না, তবে আমি কিছু প্রশংসনীয় বিষয়গুলি ভাবতে পারি:
- জাভা ধারণাটি হ'ল একবার লেখার জন্য যে কোনও জায়গায় ভাষা লেখা উচিত এবং ক্লাস ফাইলে প্রাক্পম্পাইলযুক্ত স্টাফগুলি স্থাপন করা এটি লঙ্ঘন করা (কেবল "ধরণের" কারণ অবশ্যই আসল বাইট কোডটি এখনও সেখানে থাকবে)
- এটি ক্লাস ফাইলের আকারকে বাড়িয়ে দেবে কারণ আপনার একাধিকবার একই কোড থাকবে, বিশেষত যদি আপনি একাধিক বিভিন্ন জেভিএম এর অধীনে একই প্রোগ্রামটি চালাচ্ছেন (যা সত্যিই অস্বাভাবিক নয়, যখন আপনি বিভিন্ন সংস্করণকে আলাদা জেভিএম হিসাবে বিবেচনা করেন, যা আপনি সত্যিই করতে হবে)
- ক্লাস ফাইলগুলি নিজেরাই লিখিত নাও হতে পারে (যদিও এটির জন্য এটি পরীক্ষা করা বেশ সহজ হবে)
- জেভিএম অপ্টিমাইজেশানগুলি আংশিকভাবে রান-টাইম তথ্যের উপর ভিত্তি করে এবং অন্যান্য রানগুলিতে সেগুলি প্রযোজ্য নাও হতে পারে (যদিও তাদের এখনও কিছু সুবিধা দেওয়া উচিত)
তবে আমি সত্যিই অনুমান করছি, এবং আপনি দেখতে পাচ্ছেন যে, আমার কোনও কারণই সত্যিকারের শো-স্টপার নয় বলে আমি ভাবি না। আমি সানকে কেবল এই সমর্থনটিকে অগ্রাধিকার হিসাবে বিবেচনা করি না এবং সম্ভবত আমার প্রথম কারণটি সত্যের নিকটবর্তী, কারণ এটি অভ্যাসগতভাবে করার ফলে লোকেরা ভাবতেও পারে যে জাভা শ্রেণীর ফাইলগুলি সত্যিকারের পরিবর্তে প্রতিটি ভিএমের জন্য পৃথক সংস্করণ প্রয়োজন need ক্রস-প্ল্যাটফর্ম।
আমার পছন্দসই উপায়টি হ'ল পৃথক বাইকোড-থেকে নেটিভ অনুবাদক থাকবেন যা আপনি স্পষ্টভাবে এই জাতীয় কিছু করতে ব্যবহার করতে পারেন, ক্লাস ফাইলগুলি স্পষ্টভাবে নির্দিষ্ট ভিএম এর জন্য তৈরি করা হয়েছে, সম্ভবত তাদের মধ্যে মূল বাইকোড সহ যাতে আপনি বিভিন্ন ভিএম এর সাথেও চলতে পারে। তবে এটি সম্ভবত আমার অভিজ্ঞতা থেকে এসেছে: আমি বেশিরভাগ জাভা এমই করছি, যেখানে এটি সত্যিই ব্যাথা করে যে জাভা সংকলক সংকলন সম্পর্কে স্মার্ট নয়।