2012-06-18 10 views
5

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

ओओ और कम हद तक स्टेटिक इन दिनों फैशनेबल प्रतीत नहीं होता है। हालांकि, यह मुझे मारता है कि आधुनिक कंप्यूटरों की शक्ति पिछले दशकों में संकलक लेखकों के सपने से परे स्थिर कंपाइलरों के निर्माण को सक्षम बनाती है।

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

+0

मैं दूसरी लगता है स्काला के प्रकार प्रणाली किसी से है, लेकिन कोशिश कर विकल्प के हित में, [Ioke] पर एक नजर है (http://ioke.org/)। – opyate

+0

@ गतिशील आह इसकी गतिशील। –

+2

ओह, मैं "बहु प्रतिमान" पढ़ सकते हैं और आप Ioke :) – opyate

उत्तर

4

एक शब्द में, नहीं। कोई लोकप्रिय ओओ विकल्प नहीं हैं जो स्कैला के प्रकार प्रणाली के करीब कहीं भी आते हैं। आपकी वांछित विशेषताओं को देखते हुए, मैं सुझाव दूंगा कि आप सी ++, डी, और गो पर एक कड़ी नजर डालें।

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

क्या कोई विशेष कारण है कि आप ओओ भाषा चाहते हैं? दोबारा, स्कैला शायद उतना ही अच्छा है जितना कि यह ठीक हो जाता है अगर आप एक शांत प्रकार प्रणाली और ओओ चाहते हैं।

+0

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

+0

मैं वर्तमान में स्कैला पर ध्यान केंद्रित कर रहा हूं; ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग पैराडाइम से आए हैं और कार्यात्मक प्रोग्रामिंग प्रतिमान को समझने की कोशिश कर रहे हैं। मैं http://stackoverflow.com/questions/11162743/haskell-scala-interoperability पर अपने प्रश्न के आपके उत्तर की सराहना करता हूं। मैं ओओ ज्ञान के पीछे छोड़ने के लिए तैयार हूँ। स्केल को बड़े पैमाने पर बहु ​​स्थान वितरित आवेदन की तरह ईआरपी (एंटरप्राइज़ रिसोर्स प्लानिंग) के लिए हास्केल के साथ पूरी तरह से बदला जा सकता है? – Optimight

+0

@ ऑप्टिमाइट सुनिश्चित करें। आप [औद्योगिक हास्केल समूह] (http://industry.haskell.org/) में देखना चाहते हैं, [उद्योग में हास्केल] के उदाहरण देखें (http://www.haskell.org/haskellwiki/Haskell_in_industry), और विवरण के लिए [# हास्केल आईआरसी चैनल] (http://www.haskell.org/haskellwiki/IRC_channel) पर लोगों से बात करें। –

1

डी (विशेष रूप से, डी संस्करण 2, उर्फ ​​डी 2) वास्तव में वह भाषा है जिसे आप ढूंढ रहे हैं।

यूट्यूब पर वीडियो डी, आईडीई/प्लगइन जैसे विजुअल डी (विजुअल सी ++ के लिए प्लगइन), मोनो-डी (मोनो डेवेल के लिए प्लगइन), और डीडीटी (ग्रहण के लिए प्लगइन) पेश करने वाले वीडियो हैं।

मुख्य साइट dlang.org में एक पूर्ण पुस्तकालय संदर्भ, भाषा वाक्य रचना, ट्यूटोरियल, शुरुआती के लिए मंचों/उन्नत विचार विमर्श, आदि

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

dsource.org और github में कई अन्य तृतीय-पक्ष पुस्तकालय/कोड हैं, लेकिन आप पाएंगे कि मूल पुस्तकालय में सभी मूलभूत बातें शामिल हैं, जैसे कि जेसन पार्सर्स, एक्सएमएल पार्सर्स इत्यादि, और मूल भाषा में कई चीजें हैं आपको हैशैप्स, गतिशील सरणी, अनुबंध द्वारा डिजाइन, स्थिर रूप से मूल्यांकन किए गए टेम्पलेट्स/अभिव्यक्तियों आदि जैसे

डी 2 के साथ, आप सीधे सी और सी ++ से लिंक कर सकते हैं और पाइथन/LUA कोड आदि से जुड़ सकते हैं। यह एक सिस्टम भाषा के रूप में सक्षम है (यदि आप चाहें तो आप इसके साथ एक ओएस लिख सकते हैं), लेकिन समवर्ती, सुरक्षित कोड जैसी चीजों के समर्थन के साथ आधुनिक, उच्च स्तरीय, सुरुचिपूर्ण, तेज़ एप्लिकेशन भाषा के रूप में अच्छी तरह से काम करता है।

सब कुछ, यह बहुत प्रभावशाली है।दु: खी यह देखते हुए कि स्काला तुलना द्वारा एक धीमी गति से स्मृति हॉग है और अधिक लोकप्रिय नहीं है कि,;)