2010-01-03 16 views
29

मैं स्कैला की लोकप्रियता को समझने की कोशिश कर रहा हूं और कार्यस्थल में कितने SO उपयोगकर्ता वास्तव में इसका उपयोग करते हैं?स्कैला, भविष्य का जावा (?)

+7

मेरा सुझाव है कि आप इस "समुदाय विकी" को चिह्नित करें, अन्यथा यह एक मजबूत मौका है कि इसे "व्यक्तिपरक और तर्कवादी" के रूप में बंद कर दिया जाएगा। –

उत्तर

6

कोई भी एक क्रिस्टल बॉल है कर रहे हैं, और किसी को कुछ बेहतर (या इसके पीछे एक बिजलीघर के साथ कुछ भी बुरा) किसी भी समय के साथ आ सकता है।

वहाँ लेख, पॉडकास्ट की एक बहुत कुछ है, आदि इतने पर यहाँ हो गया है , मैं सुझाव है कि आप पढ़ा: https://stackoverflow.com/questions/33744/is-scala-the-next-big-thing

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

+3

मैं जावा ईई विकास पर काम करता हूं और हमें जावा भाषा से बेहतर की आवश्यकता है। हम कॉरपोरेट/सामुदायिक समर्थन (आपके शब्दों में "पावरहाउस" की कमी के कारण स्कैला या ग्रोवी नहीं जाते हैं)। जेवीएम में रहना जरूरी है, क्योंकि हम जावा में विकसित सभी मौजूदा कोड को आसानी से नहीं बदल सकते हैं। स्कैला की तुलना में, पायथन अधूरा लगता है और ओएस स्क्रिप्टिंग के लिए लक्षित है। मैंने ज्योथन, जेआरबी, ग्रोवी और स्कैला की कोशिश की है, और सबसे अच्छा जावा एकीकरण ग्रोवी और स्कैला से आता है। लेकिन औपचारिक विनिर्देश की कमी के कारण ग्रोवी स्कैला और जावा के रूप में पेशेवर नहीं दिखती है। तो मुझे उम्मीद है कि हम सभी स्कैला जाएंगे। – fernacolo

2

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

मैंने लिफ्ट (वेब ​​फ्रेमवर्क) सीखने की कोशिश की और पाया कि मैं इसे संभालने के लिए पर्याप्त स्मार्ट नहीं था। स्काला सिंटैक्स कुछ स्थानों में बहुत तेज़ और गूढ़ है (जहां जावा शब्दशः है) और कुछ उपयोग करने में लग रहा है। मैंने कुछ छोटी परियोजनाएं लिखीं और उन्होंने अच्छी तरह से काम किया; लेकिन उस समय उपलब्ध ग्रहण प्लगइन्स के आधे पर्याप्त समर्थन के साथ बड़ी परियोजनाएं मजेदार नहीं थीं।

व्यक्तिगत रूप से, मैंने स्कैला को छोड़ दिया और क्लोजर पर चले गए, जो कई फायदे प्रदान करता है और कार्यक्रम के लिए "मज़ेदार" यहां अधिक मज़ेदार है।


मेरा व्यक्तिगत निष्कर्ष: स्कैला में बहुत सी विशेषताएं हैं जो सीखने की वक्र बढ़ाती हैं। यह जावा के सिंटैक्स और रुबी के एफपी संरचनाओं के साथ सी ++ की जटिलता की तरह लगता है। मुझे लगता है कि उद्योग को मनाने के लिए मुश्किल होगी कि स्कैला के पास जावा पर महत्वपूर्ण फायदे हैं, जो पुन: टूलिंग और पुनः प्रशिक्षण में लागत को उचित ठहराने के लिए पर्याप्त हैं।

+0

वही है। मैं स्कैला के बारे में उत्साहित था (और यह ** के बारे में उत्साहित होने के लिए बहुत कुछ है), लेकिन क्लोजर के साथ काम करने के लिए मेरी "अगली सबसे अच्छी चीज़" के रूप में जाना समाप्त हो गया। –

+0

सुनकर अच्छा लगा कि मैं पागल होने में अकेला नहीं हूं - या साहसी! ;) –

4

मैंने अभी स्कैला के साथ काम करना शुरू कर दिया है और मैं वित्तीय क्षेत्र में अधिक रुचि देखना शुरू कर रहा हूं।

अब मैं इसमें अधिक रुचि रखने वाले लोगों/सहयोगियों को प्राप्त कर रहा हूं। कई लोगों ने मुझे अपनी प्रगति के रूप में पोस्ट रखने के लिए कहा है। मुझे ग्रोवी (या जावा के बाद अन्य जेवीएम भाषाएं) में समान रुचि दिखाई नहीं दे रही थी।

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

1

मैंने हालिया सम्मेलन (जावाएडगे 200 9) में स्कैला के बारे में सुना और हर कोई काफी आश्वस्त था कि स्कैला एक महान भाषा है। सम्मेलन का मुख्य अर्थ यह था कि जावा का भविष्य सिर्फ एक नई जेवीएम प्रोग्रामिंग भाषा नहीं है, बल्कि प्रोग्रामिंग भाषाएं जावा के भविष्य हैं।चूंकि जेडीके 7 में गतिशील भाषाओं के लिए समर्थन होगा, भविष्यवक्ताओं का कहना है कि आप कुछ वर्षों में अपनी भाषा में विकास करेंगे, (डीएसएल - डोमेन विशिष्ट भाषा)

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

+2

आप IntelliJ IDEA v9, सामुदायिक संस्करण को आजमा सकते हैं। यह मुफ़्त है और (वैकल्पिक) स्कैला प्लगइन (भी मुफ़्त) ग्रहण की तुलना में काफी बेहतर है। –

+0

हां, ग्रहण प्लगइन अभी भी विकास में है। हालांकि, स्कैला भाषा की गलती नहीं है। केवल इतने सारे योग्य स्वयंसेवक हैं ... –

+2

यह वास्तव में भाषा के उत्पादक उपयोग की आवश्यकता के रूप में गलती असाइनमेंट का मुद्दा नहीं है। –

48

मैं अब एक साल के लिए काम (वित्त प्रौद्योगिकी) पर स्कैला का उपयोग कर रहा हूं और जावा पर वापस नहीं जाना चाहता! चीजें हैं जो मुझे सबसे ज्यादा चिंतित जब मूल रूप से प्रवास पर विचार थे:

  • उपकरण सहायता (? क्या आईडीई की तरह कर रहे हैं) जावा लाइब्रेरीज मौजूदा साथ
  • इंटरॉप और प्रौद्योगिकियों का निर्माण (ant, Spring, आंतरिक रूप से लिखा सामान)
  • प्रतिभा पूल (जहां मैं अच्छा स्केला डेवलपर्स मिल सकती है?)
  • संक्रमण समय (कब तक इससे पहले कि मैं लिख रहा हूँ अच्छा स्केला?)

मैंने पाया कि आईडीईए की स्कैला प्लगइन (अब free v9 Community Edition के लिए) उत्कृष्ट है: जावा के टूल समर्थन के रूप में उतना ही अच्छा नहीं है, लेकिन निश्चित रूप से हमारी ज़रूरतों के लिए पर्याप्त है। इसमें बुनियादी रिफैक्टरिंग और डिबगिंग और महान वाक्यविन्यास-हाइलाइटिंग है। Eclipse के साथ मेरा अनुभव बेहद निराशाजनक रहा है: मुझे समझ में आ रहा है कि स्केल 2.8 के लिए महान सुधार की उम्मीद है, लेकिन मैंने हाल ही में ग्रहण-रात देखा है और यह स्पष्ट रूप से भयानक था।

जावा के साथ अंतःक्रियाशीलता पहली दर है - मुझे कोई समस्या नहीं है और अभी भी वसंत और हमारे bespoke (चींटी आधारित) निर्माण प्रणाली का भारी उपयोग करते हैं। डेवलपर-पूल केवल मध्यम-से-उच्च कर्मचारियों के कारोबार के साथ एक बड़ी कंपनी के लिए एक विचार है; यह अब तक हमारे लिए कोई मुद्दा नहीं रहा है और साक्षात्कारकर्ताओं ने स्कैला का उपयोग करने में रुचि व्यक्त की है।

शायद सबसे बड़ा मुद्दा संक्रमण समय है। मैंने इसे कुछ भी उचित लिखने में सक्षम होने के लिए 2 सप्ताह होने के लिए पाया है, 3 महीने से वास्तव में "इसे प्राप्त करें" और 6 महीने-1 वर्ष शुरू करने के लिए स्केल के कार्यात्मक और डीएसएल-पक्षों का लाभ उठाने के लिए शुरू करें। तो, मेरे लिए वास्तव में बड़ा लाभ क्या है?

  1. प्रकार निष्कर्ष और सह और विपरीत विचरण में बनाया (कोड अधिक पठनीय और सहज है - जेनरिक सिर्फ काम करता है, जावा के विपरीत जहां यह बेहद दर्दनाक हो सकता है)
  2. कार्यात्मक प्रोग्रामिंग शैली और बंद (कोड

    +०१२३५१६४१०६१: अधिक पठनीय और तेज लिखने के लिए)
  3. अभिनेताओं संगामिति पुस्तकालय (समवर्ती प्रोग्रामिंग बेहद)

तो समाप्त करने के लिए सरल है

  • क्या स्केल कोई अच्छा है? हाँ - यह है शानदार
  • यह असली उद्यम इस्तेमाल के लिए तैयार है?हां - ट्विटर, सोनी और ईडीएफ
  • समेत इसका उपयोग कर काफी कुछ compaies हैं गोद लेने की लागत के लाभ क्या हैं? हाँ - बिल्कुल
+0

मैं विज्ञापन नहीं देता कि ट्विटर इसका उपयोग करता है ... ट्विटर पर कुख्यातता के साथ नहीं। मुझे पता था कि वास्तव में एक खाता बनाने से पहले ट्विटर विफल व्हेल साल पहले क्या था। – Powerlord

+1

रुबी से स्कैला तक अपने संदेश कतारों का ट्विटर माइग्रेशन पिछले 18 महीनों में हुआ, मेरा मानना ​​है। संभवतः उन मुद्दों को हल करने के लिए स्केल प्रवासन किया गया था जिनसे आप परिचित हैं। मैं खुद एक ट्विटर उपयोगकर्ता नहीं हूँ! –

+2

मुझे परिस्थितियों का सीधा ज्ञान नहीं है, लेकिन स्कैला पर ट्विटर माइग्रेशन असफल व्हेल मुद्दों को हल करना था, और हालिया रिपोर्टों के मुताबिक ट्विटर के बाद ट्विटर के मुकाबले फेसबुक की तुलना में बेहतर अपटाइम है। –

4

मैं हास्केल और OCaml पिछले दो वर्षों के लिए कई वर्षों के लिए जावा में प्रोग्रामिंग गया है, और। कुछ महीने पहले मैंने स्कैला में personal project विकसित करना शुरू किया, और यह अद्भुत है। एक वास्तविक प्रकार प्रणाली और सभी जावा सहायक पुस्तकालयों।

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

2

यह जानकारी नहीं है कि यह जानकारी मददगार है, लेकिन मैं स्कैला और प्रोजेक्ट डार्कस्टार का उपयोग करके एक सफल और स्थापित गेमिंग कंपनी के लिए ऑनलाइन गेमिंग सर्वर बना रहा हूं।

हमारे डिजाइन को दस लाख से दस मिलियन उपयोगकर्ताओं (धन्यवाद, अमेज़ॅन ईसी 2!) तक स्केल करने का अनुमान है, और स्कैला मुझे पांच कारणों से मेरे कोड में अतिरिक्त विश्वास देता है: 1. मैं संकलन समय पर और चीजें पकड़ता हूं। 2. मेरे खेल डेटा को अपरिवर्तनीय बनाना बहुत आसान है। 3. उच्च स्तरीय कोड का अर्थ है कि मुझे एक छोटी कार्यान्वयन गलती होने की संभावना कम है। 4. छोटा, सरल कोड मेरे लिए समीक्षा करना और त्रुटियों को ढूंढना आसान बनाता है। लागू रूपांतरण इस का एक बड़ा हिस्सा हैं। 5. जितना खुश मैं कोड लिख रहा हूं (और स्कैला आम तौर पर मुझे खुश करता है), बेहतर काम मैं करता हूं।

स्कैला एक पैनसिया नहीं है, और इसमें बहुत सारे मौसा हैं (अर्थात् किसी भी महान उपकरण समर्थन की कमी) लेकिन यह अब तक की सबसे अधिक उत्पादक भाषा है जिसका उपयोग मैं इस उद्देश्य के लिए कर सकता हूं।

मेरी एकमात्र शिकायत यह है कि मेरी इच्छा है कि यह सी या भारी मैक्रोड असेंबलर को संकलित कर सके, क्योंकि जेवीएम की सीमाएं अक्सर मुझे परेशान करती हैं (टाइप एरर, स्टैक प्रकारों और बाय-वैल्यू ऑब्जेक्ट एरे की कमी)।

मुझे नहीं लगता कि स्कैला अभी तक लोकप्रिय है, 2.8 रूपांतरण दुखी है और समुदाय में एक झुकाव पैदा कर चुका है, और उपकरण समर्थन सिर्फ वहां नहीं है। लेकिन अगर आप एक काउबॉय कोडर हैं जो बीजगणितीय प्रकार के सिद्धांत और स्वत: पूर्ण की कमी से डरते नहीं हैं, तो गलत होना मुश्किल है।

यदि आप इसका उपयोग करने का निर्णय लेते हैं, तो अपने आप को एक बड़ा पक्ष बनाएं और ओडर्स्की की पुस्तक खरीदें। मैंने बिना स्कैला में कोड करने के लिए कुछ समय की कोशिश की, और "स्केल रास्ता" कुछ भी करना असंभव था (ऐसा नहीं कि उस पर सर्वसम्मति है)।

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