2010-08-30 19 views
7

चूंकि ओरेकल ने दाल्विक वीएम पर Google को मुकदमा दायर किया है, यह स्पष्ट हो जाता है कि आप ओरेकल से लाइसेंस के बिना जावा वीएम लागू नहीं कर सकते हैं (संपादित करें: मैथ्यू फ्लैंचन बताते हैं कि ओरेकल के दावे वैध नहीं हो सकते हैं। वैसे भी हमारे पास वर्तमान में एक स्थिति है, जहां ओरेकल वीएम-कार्यान्वयन की धमकी देता है।)। यह जावा के ओपन-सोर्स-कार्यान्वयन के लिए मौत हो सकता है (जैसे Apache Harmony)।जावा वीएम के विकल्प क्या हैं?

मैं इस मुकदमे के प्रभाव या वैधता पर चर्चा नहीं करना चाहता हूं। लेकिन जावा-प्रोग्रामर के रूप में मैं हर मामले के लिए तैयार होने के विकल्पों में गहराई से नजर डालना चाहता हूं। जैसा कि मैं एक मामूली समस्या के रूप में एक कंपाइलर के निर्माण को देखता हूं, मेरा मुख्य हित वैकल्पिक वीएम-कार्यान्वयन है, जो कि जेवीएम के समान उद्देश्य प्रदान करता है।

वीएम मैं तलाश कर रहा हूँ, कुछ शर्तों को पूरा करना चाहिए:

  • पेटेंट-मुद्दों
  • एक ओपन-सोर्स-कार्यान्वयन मौजूद है अनुकूलन के लिए
  • संभावित/अच्छा प्रदर्शन
  • से मुक्त मंच स्वतंत्र (वीएम को बिना किसी बाधा के विभिन्न प्लेटफॉर्म पर पोर्ट किया जा सकता है)

कृपया कुछ पुनः जोड़ें मेरे लिए प्रशंसा

+0

आईबीएम का अपना स्वयं का जेवीएम है, लेकिन मुझे नहीं पता कि यह आपके पहले दो बिंदुओं को संतुष्ट करता है (हालांकि मुझे लगता है कि यह पिछले दो को संतुष्ट करता है)। – FrustratedWithFormsDesigner

+3

यह मेरे लिए स्पष्ट हो गया है कि आप सैकड़ों पेटेंट का उल्लंघन किये बिना * किसी * गैर-तुच्छ कार्यक्रम (और निश्चित रूप से वीएम नहीं) लिख सकते हैं। – Ken

+0

@FrustratedWithFormsDesigner, तो माइक्रोसॉफ्ट करता है, उनके पास अपना स्वयं का JVM है। –

उत्तर

5

LLVM वास्तव में एक अच्छा अनुकूलन, निम्न स्तर की वर्चुअल मशीन है। यह सी और सी ++ जैसी भाषाओं का समर्थन कर सकता है, और कचरा संग्रह जैसे उच्च स्तरीय सुविधाओं के लिए समर्थन में नहीं बनाया गया है।

VMKit एलएलवीएम के शीर्ष पर जावा और सीएलआई आभासी मशीनों का कार्यान्वयन है। चूंकि यह जावा बाइटकोड का उपयोग करता है, यह शायद पेटेंट मुद्दों के साथ मदद नहीं करेगा।

HLVM एलएलवीएम के शीर्ष पर बनाया गया एक और दिलचस्प उच्च स्तरीय वर्चुअल मशीन है। यह शायद सबसे प्रसिद्ध पेटेंट से बचने के लिए काफी अलग है, लेकिन यह मुख्य रूप से संख्यात्मक कंप्यूटिंग और कार्यात्मक प्रोग्रामिंग पर लक्षित है।

गतिशील रूप से टाइप की गई तरफ, Parrot है।

मैं वास्तव में अपने स्वयं के डिज़ाइन की भाषा के लिए एक कंपाइलर और वीएम पर काम कर रहा हूं, लेकिन इसे कभी खत्म होने पर भरोसा न करें। ;-)

ध्यान रखें कि सॉफ़्टवेयर का कोई भी बड़ा हिस्सा कई पेटेंटों का उल्लंघन करेगा, महत्वपूर्ण बात यह है कि वे कितने अच्छी तरह से जानते हैं (और कितने पेटेंट के मालिक सक्रिय रूप से उल्लंघन करने वालों की तलाश करते हैं)। बेशक, पूरी पेटेंट प्रणाली बेतुका है, और हम इससे छुटकारा पाने से बहुत बेहतर होंगे।

+0

"यह शायद सबसे प्रसिद्ध पेटेंट से बचने के लिए काफी अलग है" और हजारों प्रसिद्ध पेटेंट के बारे में क्या? "पूरी पेटेंट प्रणाली बेतुका है" मुझे यकीन नहीं है कि मैं सहमत हूं - मुझे लगता है कि पेटेंट कभी-कभी उपयोगी होते हैं - यदि आप कैंसर के इलाज का आविष्कार करते हैं तो आपको इसे पेटेंट करने की अनुमति दी जानी चाहिए। लेकिन डबल-क्लिक जैसी छोटी चीजों के लिए पेटेंट नहीं दिए जाने चाहिए। पेटेंट सिस्टम वहां होना चाहिए, लेकिन सुधार की जरूरत है और वास्तविक नवाचार पर अधिक सख्त जांच की जरूरत है। –

+1

@ मार्क बेयर्स: एचएलवीएम के बारे में, मेरा मतलब था कि जावा और इसी तरह की वीएम तकनीक (जैसे सीएलआई) पर अधिकांश पेटेंट शायद लागू नहीं होंगे। बेशक, इसका मतलब यह नहीं है कि यह पूरी तरह से सुरक्षित है, लेकिन कुछ भी नहीं है। पेटेंट सिस्टम के लिए, सॉफ्टवेयर पेटेंट सबसे स्पष्ट रूप से बेतुका हिस्सा हैं, लेकिन मैं बाकी प्रणाली की उपयोगिता पर भी सवाल करता हूं - वास्तव में कोई सबूत नहीं है कि उसने कोई अच्छा किया है। और अगर किसी ने कैंसर के इलाज का आविष्कार किया है, तो यह अच्छा होगा अगर पेटेंट नहीं किया गया था, क्योंकि यह सस्ता होगा। सवाल यह है कि पेटेंट के बिना, क्या इलाज का आविष्कार किया जाएगा? कोई नहीं जानता। – Zifre

+0

एचएलवीएम एक महान उम्मीदवार की तरह दिखता है, तोता एक और की तरह। मैं इन विकल्पों को थोड़ा और आगे देखूंगा। आपकी सिफारिशों के लिए धन्यवाद। :-) – Mnementh

4

मुझे नहीं लगता कि पेटेंट मुद्दों से मुक्त सॉफ्टवेयर का कोई महत्वपूर्ण टुकड़ा है।

यदि आप एक स्वतंत्र डेवलपर हैं या एक छोटी कंपनी के लिए काम कर रहे हैं तो शायद आप समस्याओं से सीधे हिट नहीं करेंगे। यह संभावना नहीं है कि पेटेंट रखने वाली बड़ी कंपनियां बहुत से छोटे दावों के बाद चली जाएंगी - यह एक महंगी प्रक्रिया है और बहुत नाराजगी का कारण बनती है। एससीओ ने ऐसा कुछ करने की कोशिश की और यह उनके लिए बहुत अच्छा काम नहीं कर सका।

मैं पेटेंट मुद्दों के बारे में ज्यादा चिंता किए बिना नौकरी के लिए सबसे अच्छा टूल खोजने पर ध्यान केंद्रित करूंगा, अन्यथा आप कभी भी कुछ नहीं करेंगे।

+0

एससीओ ने कभी पेटेंट दावों, केवल कॉपीराइट और अनुबंध पर जोर नहीं दिया है। –

संबंधित मुद्दे