2010-07-08 8 views
15

फिलहाल सीएलआर के लिए पुराने कार्यान्वयन के साथ स्कैला केवल जेवीएम पर चलता है।स्कैला के भविष्य के प्लेटफॉर्म चिंताओं को किसके लिए तैयार किया जाना चाहिए?

लेकिन फिलहाल कुछ आवाजें हैं, माइक्रोसॉफ्ट को .NET के लिए एक अद्यतित स्कैला पोर्ट को वित्त पोषित करने में रुचि है।

ओरेकल के पक्ष में किसी भी योजना या निरीक्षण की कमी को ध्यान में रखते हुए जावा/जेवीएम/पारिस्थितिकी तंत्र के साथ क्या करना है, स्कैला डेवलपर को कैसे तैयार किया जा सकता है, अंत में स्कैला चलाने के लिए कोई सभ्य मंच नहीं छोड़ा जा सकता है?

क्या भविष्य में स्कैला वीएम के कुछ "स्वतंत्र" कार्यान्वयन की कोई योजना है, जो मौजूदा वीएम कार्यान्वयन में इन सभी विरासत बगों के साथ रहने के बजाय स्काला की विशेषता को कुछ बाइटकोड/वीएम पर नक्शा देती है (कोई जेनेरिक नहीं , covariant सरणी, अजीब एनोटेशन, कोई पूंछ कॉल आदि)?

+0

स्कैला के एलएलवीएम कार्यान्वयन के बारे में भी बात है, लेकिन मुझे विवरण नहीं पता है। – andreypopp

+9

यदि प्रश्न जावा की संभावना (और विस्तार से जेवीएम) से संबंधित है, तो "मैं जा रहा हूं," मैं कहूंगा कि ऐसा होने का नगण्य मौका है। –

+0

पृष्ठ 33 यहां देखें: http://days2010.scala-lang.org/sites/days2010/files/15-0-M%20-%20Opening%20Talk%20-%20Martin%20Odersky.ppt – oluies

उत्तर

18

यहाँ वीएम के बारे में एक और दृश्य है:

जबकि वास्तव में सूर्य की प्रतिभाशाली पल अगर आप पूरी तस्वीर, JDK/संबंधित बातों पर जीपीएल लाइसेंस थप्पड़ मारने वास्तव में इस अद्भुत स्थिति का कारण बना है, जहां पूरे JVM मंच पूरी तरह से है देखो ओरेकल से स्वतंत्र मेरा मतलब है, वर्चुअल मशीन जावा पर बंधी नहीं है, कचरा कलेक्टर जावा से बंधे नहीं हैं और सबसे महत्वपूर्ण बात यह है कि जावा प्रोग्रामर वास्तव में जावा और इस प्रकार ओरेकल से बंधे नहीं हैं।

जावा प्रोग्रामर के रूप में, मैं कहूंगा कि हमने जीता - अगर ओरेकल बड़े मुनाफे की उम्मीद में जावा दुनिया में सबकुछ को खत्म करने का फैसला करता है, तो हम केवल वीएम और स्काला जैसे आधुनिक भाषा को पकड़ सकते हैं और लैरी एलिसन को सैल कर सकते हैं हम सभी की देखभाल के लिए अपने नौका में सूर्यास्त।

+3

उन्होंने बीएसडी को चीजों पर थप्पड़ मार दिया? मैंने सोचा कि यह जीपीएल था। –

+2

एसएसएसएसएसरी! मैं अपने दिमाग से बाहर होना चाहिए था। सच्चाई से मेल खाने के लिए संपादित किया गया। – Esko

10

स्कैला का वर्तमान कार्यान्वयन JVM पर बहुत अधिक केंद्रित है। स्कैला लाइब्रेरी में अधिकांश जावा मानक लाइब्रेरी में कक्षाओं पर निर्भर करता है और जावा क्लासेस भी उपयोगकर्ता प्रोग्राम के संपर्क में आते हैं।

यदि सीएलआर या एलएलवीएम जैसे अन्य प्लेटफार्मों पर स्कैला कार्यान्वयन होने जा रहे हैं, तो वर्तमान जावा-उन्मुख स्कैला कार्यान्वयन के लिए लिखे गए प्रोग्राम स्वचालित रूप से उन अन्य कार्यान्वयन के साथ संगत नहीं होंगे (जब तक कि उन कार्यान्वयनों की लंबाई बहुत अधिक न हो जावा में उपलब्ध कक्षाओं का समर्थन करने के लिए)।

मैं रैंडल से सहमत हूं कि जेवीएम जल्द ही गायब होने वाला नहीं है; यह शायद सबसे सफल और व्यापक वर्चुअल मशीन प्लेटफॉर्म है, जो कि स्मार्टकार्ड और हैंडहेल्ड उपकरणों से अरबों उपकरणों पर तैनात है, जो सबसे बड़े सर्वर तक है। वास्तव में, जावा प्रोग्रामिंग भाषा जेवीएम की तुलना में बहुत जल्द गायब हो सकती है। अचल भविष्य में जेवीएम के गायब होने के डरने का कोई कारण नहीं है।

और यहां तक ​​कि असंभव मामले में भी - क्या इससे वाकई कोई फर्क पड़ता है? आप अभी भी अन्य प्लेटफार्मों में से एक पर अपनी पसंदीदा प्रोग्रामिंग भाषा स्कैला में प्रोग्राम करने में सक्षम होंगे।

+0

स्कैला सीएलआर पर पहले से ही उपलब्ध है, हालांकि बहुत पुराना संस्करण (मुझे लगता है 1.4)। मैं आपकी आखिरी टिप्पणी से सहमत हूं कि यह जेवीएम या सीएलआर है, स्कैला वहां होगा। –

5

ओरेकल कुप्रबंधन के कारण मैंने JVM की मृत्यु के बारे में बहुत चिंता नहीं की, जैसा कि एस्को ने कहा था।

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

स्कैला बाइटकोड को संकलित कर रहा है, और जावा कंपाइलर (1.1-1.4) लिखने वाले व्यक्ति (ओडर्सकी) द्वारा जेवीएम के साथ बनाया गया था।स्कैला एकमात्र भाषा है जिसे किसी व्यक्ति द्वारा जेवीएम के घनिष्ठ ज्ञान के साथ लिखा जाता है, और हम वास्तव में नहीं जानते कि उसके लिए यह कितना मुश्किल था।

मुझे चिंता है कि जेवीएम अंततः लोकप्रियता में कम हो जाएगा क्योंकि यह शुरू करने के लिए एक बहु भाषा मंच नहीं है।

+1

जेवीएम पर काम कर रहे इंजीनियरों को बहुत पता है कि जावा की तुलना में अन्य भाषाओं के लिए समर्थन बहुत महत्वपूर्ण है। गतिशील भाषाओं को बेहतर समर्थन देने के लिए जावा 7 के लिए 'invokedynamic' बाइटकोड जैसी चीजों को जोड़ने के लिए JVM में कार्य जोड़ने के लिए कार्य किया जा रहा है। – Jesper

+2

उन्होंने invokedynamic पेश किया क्योंकि उन्हें यह नहीं सोचना होगा कि यह जावा को कैसे प्रभावित करेगा, उन्हें .NET और उसके DLR के विरुद्ध मार्केटिंग प्रभाव की आवश्यकता है और क्योंकि डायनामिक भाषाएं वास्तव में वीएम में जावा की स्थिति के लिए खतरा उत्पन्न नहीं करती हैं। वचनबद्धता मेरी राय में अलग दिखती है ... – soc

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