क्या विम या एमएसीएस .नेट या जावा जैसी भाषाओं के लिए व्यावहारिक हैं? [बन्द है]


18

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

  • Linq-to-SQL के लिए dbml फाइलें जनरेट करना
  • स्वचालित परीक्षण
  • UI डिजाइनिंग
  • परियोजनाओं और समाधानों का निर्माण / आयोजन

मुझे पता है कि विम और एमएसीएस बहुत कुछ उसी तरह से बहुत शक्तिशाली तरीके से कर सकते हैं जो वीएस (जैसे कि इंटैलिजेंस, रीफैक्टरिंग, आदि) कर सकते हैं और यह मेरे द्वारा दिए गए उदाहरणों में से कुछ या सभी करने में सक्षम हो सकता है, लेकिन क्या यह कहना यथार्थवादी है कि इन प्लेटफार्मों पर काम करने वाला कोई वास्तव में विम या Emacs से लाभान्वित होगा?


2
हम अपनी दुकान पर एक्लिप्स में काम करते हैं, लेकिन यहां एक लड़का है जो विम को अपने पिमरी एडिटर के रूप में इस्तेमाल करता है और एक्लिप्स को केवल प्रबंधन और कोड प्रकार के कार्यों के लिए संकलन करता है।
माइकल के

जवाबों:


14

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

अब, मैं मुख्य रूप से C # में प्रोग्राम करता हूं, और मैं ऐसा करने के लिए VS का उपयोग करता हूं। मैं भी वास्तव में Emacs से प्यार करता हूं और मूल रूप से बाकी सब चीजों के लिए इसका उपयोग करता हूं। अब, जैसा कि आप कहते हैं, आप Emacs में क्या कर सकते हैं और Emacs में क्या करना बेहतर है, अलग हैं। लेकिन कई मामलों में यह 1-टू -1 मैपिंग नहीं है और टेक्स्ट एडिटर और / या अन्य टूल का उपयोग करके समान लक्ष्यों तक पहुंचने के लिए अलग-अलग तरीके हैं।

मैं मूल रूप से आपके प्रत्येक अंक को संबोधित करने जा रहा था, लेकिन उत्तर हमेशा किसी न किसी रूप में "हाँ, आप कर सकते हैं" के लिए उबला हुआ था। आमतौर पर आप या तो इस पर भरोसा करेंगे: 1) आपके लिए कोड उत्पन्न करने के लिए एक बाहरी उपकरण (जैसे UI डिज़ाइनर), इसे आयात करें; 2) दोहराए जाने वाले कार्यों को स्वचालित करने के लिए संपादक के अंदर से स्वचालन समर्थन (Emacs में Elisp कोड की तरह); या 3) आप विज़ुअल्स के बजाय टेक्स्ट-आधारित टूल का उपयोग करने के लिए समायोजित करेंगे (जैसे MSBuild का उपयोग करना और वीएस के सेट अप पर निर्भर होने के बजाय अपनी स्वयं की प्रोजेक्ट फ़ाइलों को लिखना)।

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


6

लेकिन क्या यह कहना यथार्थवादी है कि इन प्लेटफार्मों पर काम करने वाला कोई व्यक्ति वास्तव में विम या एमएसीएस से लाभान्वित होगा?

मैं आपको अपना उदाहरण देता हूं: मैं एक ऐसी प्रणाली पर काम करता हूं जो काफी हद तक (लेकिन 100% नहीं) सी # के साथ कोडित है। सिस्टम को Visual Studio से नहीं बनाया जा सकता है - यह रास्ता बहुत जटिल है। इसलिए, मेरे पास एक sln फ़ाइल नहीं है (कुछ लोगों ने इसे बनाए रखने की कोशिश की, भले ही हम इसके साथ उत्पाद का निर्माण नहीं करते हैं, लेकिन यह एक असंभव काम है) और अंतर्मुखी, कोड ब्राउज़िंग के लाभ नहीं हैं, वर्ग आरेख, आदि जो उपकरण मेरे लिए काम करता है वह vim + ctags है। यहां तक ​​कि यह सही नहीं है (सीटीजी भ्रमित होने में आसान हैं), लेकिन बिना कोड ब्राउजिंग समर्थन वाले अवर कोड संपादक का उपयोग करने से बेहतर है।

अब, मैं समझता हूं कि अधिकांश .NET या जावा डेवलपर उसी स्थिति में नहीं हैं जैसे मैं हूं और वे शायद एक आईडीई का उपयोग करने से बेहतर हैं यदि इसमें एक अच्छा कोड संपादक है या कम से कम एक ऐड-इन डिफ़ॉल्ट को बेहतर बनाता है। विजुअल स्टूडियो के लिए VsVim जैसे ऐड-ऑन हैं जो कोडिंग अनुभव को अधिक सुखद बना सकते हैं। ग्रहण AFAIK के लिए भी।


3

मुझे संदेह है कि ऐसे कई लोग हैं जो वीआईएम या एमएसीएस का उपयोग किसी विशेष रूप से करते हैं। लेकिन मुझे अभी तक एक ऐसे डेवलपर को ढूंढना है जो कुछ चीजों के लिए एक पूर्ण विकसित आईडीई के बदले में एक पाठ संपादक (यह उन या कुछ और में से एक हो) का उपयोग नहीं करता है, अक्सर कई चीजें।

याद रखें कि जावा, सी #, या सी ++ कोड लिखने की तुलना में आपकी नौकरी में कहीं अधिक है। ANT स्क्रिप्ट्स, मेकफाइल्स, XML फाइलें, कई तरह की कॉन्फ़िगरेशन फाइलें हैं। और कई छोटे कर्तव्यों के लिए, उस आईडीई का स्टार्टअप समय बस बहुत लंबा हो सकता है। ग्रहण की शुरुआत के लिए मिनट लग सकते हैं, वीएस समान। किसी एकल स्रोत में किसी चीज़ को तुरंत बदलने के लिए, या किसी ज्ञात फ़ाइल में कुछ जाँचने के लिए, यह बहुत लंबा है। VIM में फ़ाइल लोड करने में केवल कुछ सेकंड लगते हैं।


1
हालांकि नोटपैड ++ भी।
राफेल

उस एक का उपयोग कभी नहीं किया, लेकिन वास्तव में दूसरों को इसका उपयोग करते देखा है (मैं एक VIM शराबी हूं))।
jwenting

2

मुझे लगता है कि एक आईडीई और विम (मेरा व्यक्तिगत पसंदीदा संपादक) का उपयोग करना पारस्परिक रूप से अनन्य अवधारणाएं नहीं हैं। .NET विकास करते समय, मैं आमतौर पर एक हॉट-कुंजी कॉम्बो सेट करता हूं जो वर्तमान फ़ाइल को मैं आईडीई में काम कर रहा हूं और उसी स्थान पर कर्सर डालूंगा। इस तरह अगर मैं उस तरह की चीज़ करना चाहता हूँ जो विम बहुत बढ़िया है, (जैसे मैक्रोज़, वर्टिकल एडिटिंग, री-इंडेंटिंग, डिफाइनिंग, आदि) का उपयोग करना है, तो मैं मुख्य कॉम्बो और बैंग को हिट करता हूं, जो मेरा पसंदीदा संपादक है। मेरे परिवर्तन, फ़ाइल को सहेजें और छोड़ दें, और फिर मैं फिर से IDE में वापस आ गया हूं (आप इसे सेट कर सकते हैं ताकि फ़ाइल को अपने आप लोड हो जाए जब इसे IDE के बाहर संपादित किया जाए)। इस तरह मुझे दोनों दुनियाओं में सबसे अच्छा मिलता है।

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

यह मेरे लिए बहुत ही सामान्य है कि शेल स्क्रिप्ट का निर्माण करने के लिए कुछ जटिल चीजों का उपयोग करना चाहिए, जो कि मेरे द्वारा बनाए गए शेल स्क्रिप्ट को निष्पादित करें और फिर इसे फेंक दें।

मेरे 2 सेंट :)


हाँ, मैंने वीएस के लिए कुछ प्लगइन्स के साथ आस-पास खिलौने बनाए हैं, या तो मुझे एमएसीएस में कूदो, "कोड संपादक विंडो" के रूप में एमएसीएस का उपयोग करें, या सिर्फ एमएसीएस कीबाइंडिंग का उपयोग करें। उनमें से किसी से भी प्यार नहीं किया। एक मैक्रो पॉप-ओपन emacs और एक ही कर्सर स्पॉट करने के लिए कूद एक बहुत अच्छा विचार की तरह लगता है। मुझे यह कोशिश करनी पड़ सकती है। जब मैं कुछ भारी पाठ हेरफेर करने की आवश्यकता होती है तो मैं ज्यादातर दोनों के बीच कॉपी-पेस्ट करता हूं।
कोडेक्सअर्केनम

0

OpenIDE और सतत परीक्षण परियोजनाओं पर एक नज़र डालें । पहले एक VIM और Emacs सहित किसी भी संपादक को .NET प्रोजेक्ट सपोर्ट जोड़ने पर ध्यान केंद्रित करता है। अन्य एक रूबी के ऑटोटेस्ट / पाइथन स्निफर / ऑटोनोज़ के समान एक निरंतर परीक्षण धावक है। यह वीएस प्लगइन या स्टैंडअलोन के रूप में चल सकता है।

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