2010-09-16 23 views
5

मैं अब स्कैला सीखने और इसे बहुत आनंद लेने में अच्छी तरह से हूं; मैं जावा की बजाय भविष्य में परियोजनाओं को शुरू करने की उम्मीद करता हूं। जो मैं कम आनंद ले रहा हूं वह है (अपेक्षाकृत) खराब आईडीई समर्थन। मुझे स्केल प्लगइन (रात के निर्माण सहित) के साथ आईडीईए और ग्रहण दोनों को थोड़ा अविश्वसनीय या उपयोग करने में मुश्किल होने के लिए मिला है - मुझे कुछ चाहिए जो मैं हमेशा निर्भर कर सकता हूं। जैसे कल मैं अपने परीक्षण चलाने के लिए ग्रहण + प्लगइन का ताजा इंस्टॉल नहीं कर सका, या यहां तक ​​कि एक संपादक विंडो भी खोल सकता था!आईडीई निर्भरता के बिना स्कैला का निर्माण/परीक्षण कैसे करें?

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

उत्तर

10

मैंने स्काला के साथ मेवेन और एसबीटी दोनों का उपयोग किया है और उनमें से दोनों का उपयोग करना बहुत आसान है।

हालांकि, एसबीटी भी बहुत कुछ स्काला के करीब लग रहा है के रूप में अपनी निर्माण फ़ाइलों स्काला ही है और एसबीटी सुविधा निर्माण आरईपीएल (के रूप में Maven में XML के खिलाफ) में लिखे गए हैं, निरंतर संकलन और परीक्षण आदि

तो मैं है आपको एक सरल स्कैला परियोजना के लिए एसबीटी का उपयोग करने की सलाह देगा।

लेकिन यदि आप WAR, EJB आदि जैसे मानक जावा प्रोजेक्ट बनाना चाहते हैं, तो मुझे लगता है कि मैवेन के लिए उनके लिए बेहतर समर्थन है।

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

1

संपादित करें: यूयूयूपीएस। माफ़ कीजिये। असल में मैंने आपके प्रश्न को गलत तरीके से पढ़ा और केवल आईडीई पर टिप्पणी की। जब प्रोजेक्ट बनाने की बात आती है तो मैं इसका उपयोग करता हूं;) क्योंकि यह विम

जबकि मैं आईडीई के बिना कोई भी जावा प्रोजेक्ट नहीं करना चाहता, मैं वर्तमान में Vim में काफी बड़ी परियोजना कर रहा हूं । मुझे पता है कि यह काफी "पत्थर-आयु दृष्टिकोण" है लेकिन यह ठीक काम करता है।

एक तरफ मैं सभी आईडीई के छोटी गाड़ी/धीमी/कमी स्केल समर्थन से तंग आ गया था। मैंने स्कैला, नेटबीन और आईडीईए की कोशिश की और उनके साथ काम करना पाया (स्कैला में) बल्कि दर्दनाक।

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

मुझे काम करने के लिए भाषा टैग द्वारा कोड फोल्डिंग नहीं मिल सका लेकिन इंडेंटेशन द्वारा फोल्डिंग ठीक है अगर आप स्कैला के इंडेंटेशन सम्मेलनों से चिपके रहते हैं।

एक चीज जो काम नहीं करती है वह स्वत: पूर्णता है। लेकिन फिर, यह मुझे अधिक ढीले युग्मित वस्तुओं को लिखता है;)

+0

अधिक 'कट्टर' दृष्टिकोण सुनने के लिए अच्छा :) यह बात जो मुझे इसके बारे में चिंता करेगी वह फिर से फैक्टरिंग होगी। मुझे आम तौर पर पहली बार सही चीजें नहीं मिलती हैं और मुझे शायद थोड़ा अधिक पुन: फैक्टरिंग पर निर्भर करता है। – Pengin

+1

इन पंक्तियों के साथ, मैंने सुना है कि emacs + sbt + ENSIME एक अच्छा कॉम्बो है (और ENSIME रीफैक्टरिंग करता है!)। इस स्कैला-उपयोगकर्ता थ्रेड पर अधिक: http://scala-programming-language.1934581.n4.nabble.com/Best-free-IDE-for-Scala-td2533572.html –

+0

@ पेंगुइन: जैसा कि ऊपर लिखा गया है, मैं ऑटो पूर्ण होने की कमी के कारण अधिक ढीले युग्मित वर्ग प्रणाली लिखने के लिए। तो आम तौर पर रिफैक्टरिंग मुझे लगभग 5 मिनट या उससे कम – Agl

3

मैं आईडीईए के साथ एसबीटी का उपयोग करता हूं। हालांकि मैंने कोशिश नहीं की है, मुझे पता है कि एसबीटी और आईडीईए के एकीकरण के लिए कुछ समर्थन है।

वैसे भी, एसबीटी सभी स्कैला भवन & परीक्षण आवश्यकताओं के लिए एक अच्छा आधार है।

+0

एसबीटी और आईडीईए एकीकरण अब तक की तुलना में बेहतर है। यह बढ़िया है! – film42

1

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

0

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

मैं Netbeans 6.8 और स्केला-2.8.0.r22602-b20100720020114 साथ बहुत मज़ा होने दिया है

ऐसा नहीं है कि मैं स्काला प्रोग्रामिंग नहीं किया जाएगा अब अगर यह न हो गई होती कहना उचित होगा Netbeans प्लगइन। मैंने दूसरों के साथ आसानी से काम करने की कोशिश करने में काफी समय बिताया है, लेकिन बिना किसी सफलता के।

मैं नेटबीन का उपयोग स्टैंडअलोन बिल्ड के लिए विकास और चींटी के लिए करता हूं। यहां स्केल के लिए चींटी को कॉन्फ़िगर करने की जानकारी: http://scriptlandia.blogspot.com/2007/04/how-to-compile-and-run-scala-program.html

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