सबसे पहले, यह ध्यान देने योग्य है कि सूर्य की JVM C. C में लिखी गई थी जब पोर्टेबिलिटी की आवश्यकता होती है तो यह एक बहुत लोकप्रिय भाषा है।
कई C प्रोग्राम नहीं होने के बावजूद C भाषा पोर्टेबल है । ऐसा इसलिए है क्योंकि C प्रोग्रामर पर उतने प्रतिबंध नहीं लगाता है या उतनी धारणाएं नहीं बनाता है। यदि कोई सी प्रोग्रामर चाहता है कि उसके कार्यक्रम पोर्टेबल हों, तो उसे स्वयं उन प्रतिबंधों को लगाना होगा।
व्यवहार में, यह वास्तव में आप पर जावा बलों के प्रतिबंधों के साथ रहने से ज्यादा कठिन नहीं है। यह ज्यादातर आपके धीरज और आदिम आकारों के प्रति जागरूक होने और मंच-विशिष्ट पुस्तकालयों के बजाय GTK + जैसे पोर्टेबल पुस्तकालयों का उपयोग करने का मामला है ।
आप एक GTK + लक्ष्य और C संकलक बना सकते हैं जो एक वर्चुअल मशीन का समर्थन करता है, यहां तक कि शायद JVM, और बहुत कम परिवर्तनों के साथ काम करने के लिए मौजूदा कोड प्राप्त कर सकता है। वास्तव में, कचरा संग्रह के बिना, एक सी वर्चुअल मशीन शायद बहुत सरल होगी। आप क्यों करना चाहते हैं, हालांकि?
जावा को देशी कोड में उल्टा, इसी तरह से उल्लेखनीय है। यह मूल रूप से जेआईटी करता है। आप क्यों करना चाहते हैं, हालांकि? मुझे यकीन है कि पालतू परियोजनाएं इसे "सिर्फ इसलिए," करने के लिए हैं, लेकिन वे गंभीर उपयोग में नहीं हैं।