जेनेरिक प्रोग्रामिंग के लिए भाषा के रूप में स्काला


13

गार्सिया एट अल द्वारा "जेनरिक प्रोग्रामिंग के लिए भाषा समर्थन का एक विस्तारित तुलनात्मक अध्ययन" पत्र में। सामान्य प्रोग्रामिंग के लिए प्रोग्रामिंग भाषाओं की एक दिलचस्प तुलना दी गई है:

यहाँ छवि विवरण दर्ज करें

शब्दावली के संक्षिप्त विवरण के साथ:

यहाँ छवि विवरण दर्ज करें

क्या कोई इस रूपरेखा के अंदर जेनेरिक प्रोग्रामिंग के लिए स्काला समर्थन का परीक्षण कर सकता है? यानी यदि संभव हो तो स्पष्टीकरण के साथ पहली तालिका में एक कॉलम जोड़ें।


3
कंप्यूटर विज्ञान पर प्रतिष्ठित । कृपया ऐसा मत करो। यदि आप अपने प्रश्न को किसी अन्य साइट पर ले जाना चाहते हैं जो आपको अधिक उपयुक्त लगता है, तो मध्यस्थ ध्यान के लिए ध्वज और माइग्रेशन का अनुरोध करें।
गिल्स एसओ- बुराई को रोकना '

2
सटीक उत्तर पी पर दिया गया है। ऑलिवेरा एट अल द्वारा " ऑब्जेक्ट्स और इंप्लिकिट्स के रूप में टाइप कक्षाएं " के 17 ।
आर्टेम पेलेनिट्सिन

संदर्भ CS.SE के बीटा प्रश्न के लिंक के बाद ट्विटर से आया है, जो वहां पर छल किया गया है। मील्स सबिन (ट्विटर पर @milessabin) और एलेक्सी रोमानोव को धन्यवाद।
आर्टेम पेलिनित्सिन

मील सबिंस शेपलेस लाइब्रेरी और टे लिब के पीछे उसकी प्रेरणा पर एक नजर। मुझे लगता है कि कुछ कागजात
एंड्रियाशेचेर्ट

जवाबों:


7

जैसा कि ओपी की टिप्पणियों में से एक में उल्लेख किया गया है , यह वह तालिका है जो बताती है कि स्काला जेनेरिक प्रोग्रामिंग समर्थन के लिए कैसे तुलना करती है। स्रोत पीडीएफ के लिए लिंक

स्काला सूचीबद्ध तालिका

बाद में, निम्नलिखित सारांश प्रदान किया गया है:

स्काला
अवधारणा पैटर्न का उपयोग हम बहु प्रकार अवधारणाओं, कई बाधाओं मॉडल और पूर्वव्यापी मॉडलिंग समर्थन कर सकते हैं। इसके अलावा, प्रत्यारोपण के लिए स्काला के समर्थन का मतलब है कि अतिरिक्त ओवरहेड के संदर्भ में जावा और सी # समाधान की कमियां, स्काला पर लागू नहीं होती हैं। इस प्रकार, Scala अंतर्निहित तर्क कटौती और पूर्वव्यापी मॉडलिंग मानदंड दोनों में अच्छा स्कोर करता है। धारा 6 से पता चलता है कि प्रकार में सदस्यों और आश्रित विधि प्रकारों के माध्यम से संबंधित प्रकार स्काला में समर्थित हैं, और प्रकार के सदस्यों का उपयोग प्रकार के उपनाम के रूप में भी किया जा सकता है।
जैसा कि धारा 3 में दिखाया गया है, स्काला लेक्सिकली स्कॉप्ड मॉडल का समर्थन करता है। इसके अलावा टाइप-चेकिंग पूरी तरह से मॉड्यूलर है। प्राथमिकता ओवरलैपिंग इम्पीचिट्स अवधारणा आधारित ओवरलोडिंग के लिए कुछ समर्थन प्रदान करते हैं जैसा कि zipWithN द्वारा सचित्र हैउदाहरण 6.5 में। हालांकि, ओवरलैपिंग मॉडल को एक घटिया पदानुक्रम का उपयोग करके संरचित करना होगा, जो हमेशा वांछनीय नहीं हो सकता है। इस प्रकार, इस सुविधा के लिए स्कोर केवल पर्याप्त है। अंत में, स्काला को प्रथम श्रेणी के कार्यों के लिए पूर्ण समर्थन है और यह समानता की बाधाओं का भी समर्थन करता है।
सारांश में, स्लैक जेनेरिक प्रोग्रामिंग विशेषताओं के लिए उत्कृष्ट समर्थन के साथ एक भाषा बन जाती है, उसी स्तर पर किराया का प्रबंधन, या उससे भी थोड़ा बेहतर, जी की तुलना में (जो विशेष रूप से बड़े में जेनेरिक प्रोग्रामिंग के लिए एक भाषा के रूप में तैयार किया गया था) या हास्केल ( जो मान्यता प्राप्त है जेनेरिक प्रोग्रामिंग के लिए बहुत अच्छा समर्थन रहा है)।

और फिर सारांश में:

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.