मैं अपना उत्तर रिंग में फेंक दूंगा (हालांकि मेरा मानना है कि ये सभी अच्छे भी हैं)।
सबसे बुनियादी जवाब जो आपको मिल सकता है, वह है दर्शनशास्त्र।
माइक्रोसॉफ्ट की दुनिया में, यह थोड़ा धार्मिक है - आपके पास माउंट पर देवता हैं। यदि आप कुछ भी लागू करना चाहते हैं तो रेडमंड को याचिका दायर करनी चाहिए। कभी-कभी वे सुनते हैं, अन्य बार आपके बलिदान और दलीले बहरे कानों पर पड़ेंगी। शायद वे शिकार कर रहे थे। माइक्रोसॉफ्ट पूरे पारिस्थितिकी तंत्र को नियंत्रित करता है - वे ओएस के मालिक हैं, वे आईडीई के मालिक हैं, और वे उन्हें एक साथ उन तरीकों से जोड़ते हैं जो शायद एसई नेटवर्क पर बात करने के लिए अनुपयुक्त हैं। यहां तक कि आईडीई के टुकड़ों को कसकर युग्मित किया जाता है - इसे एकीकृत कहा जा सकता हैलेकिन मुझे लगता है कि युग्मित अधिक सटीक है। यदि आप चीजों को थोड़ा बदलना चाहते हैं, तो गेट्स ने मना किया है कि आप कुछ इस तरह से बदलना चाहेंगे कि या तो विंडोज या विजुअल स्टूडियो के डिजाइनरों ने स्पष्ट रूप से अनुमति नहीं दी। और फिर IE, और IIS, Microsoft सर्वर, और MS SQL सर्वर, और ऑफिस ... जैसी तकनीकों में फेंक दो और एक अच्छा बड़ा खुशहाल परिवार है। लेकिन अगर आपको परिवार का हिस्सा छोड़ना चाहिए? कंपकंपी !
दूसरी ओर, आपके पास लिनक्स है, जो यूनिक्स दर्शन से विरासत में मिला है कि प्रत्येक टुकड़ा अपने स्वयं के छोटे क्षेत्र के लिए जिम्मेदार होना चाहिए। यह एक काम करना चाहिए , और इसे अच्छी तरह से करना चाहिए। और अधिमानतः, संचार पाठ के तार के माध्यम से होना चाहिए। के रूप में अन्य लोगों ने बताया है, sed
, awk
, grep
, आदि इस का सही उदाहरण हैं। वे एक काम करते हैं जो वे करने के लिए डिज़ाइन किए गए हैं, और वे इसे बहुत अच्छी तरह से करते हैं। अगर आपको दो काम करने की जरूरत है , तो आप दो उपकरणों को मिलाएं। जो करना बहुत आसान है।
क्योंकि sed
उम्मीद है कि आने वाले इनपुट के अलावा कुछ भी टेक्स्ट नहीं होगा, इसका मतलब है कि कुछ भी जो टेक्स्ट का उत्पादन कर सकता है, उसे पहिया को फिर से स्थापित करने की आवश्यकता नहीं है। वे बस उपयोग कर सकते हैं sed
। और क्योंकि sed
पाठ का उत्पादन करता है, जो कुछ भी पाठ पढ़ सकता है वह आउटपुट से उपयोग कर सकता है sed
। पाठ बहुत सार्वभौमिक है (इसमें कुछ अपवाद हैं), और इस प्रकार की चीजों को एक साथ जोड़ना बहुत आसान है।
न केवल उन्हें गठबंधन करना आसान है, बल्कि उन्हें अलग करना भी बहुत आसान है - अगर मैं तय करता हूं कि मुझे अब एक स्ट्रीम संपादित करने की आवश्यकता नहीं है, लेकिन मैं अपने पाठ को sed
पास करने के बजाय परिणामों को फ़िल्टर करना चाहता हूं, तो मैं पास हो सकता हूं इसके grep
बजाय।
अब, यह एक लिनक्स वातावरण में विकास के पीछे मौलिक दर्शन है - इसलिए यहां तक कि अगर आप वहां से ऊपर जाते हैं, तो कई उपकरण समान प्रकार के इंटरफेस प्रदान करते हैं। वे आपको उन्हें कमांड लाइन या पोर्ट्स या एचटीटीपी के माध्यम से भागों, या इंटरफ़ेस में विघटित करने की अनुमति देते हैं।
और यहां तक कि अगर यह मामला नहीं था, तो आपके पास ओपन सोर्स सॉफ़्टवेयर भी है। लिनक्स प्लेटफ़ॉर्म पर अधिकांश (यदि सभी नहीं) सॉफ़्टवेयर खुला स्रोत है। इसलिए यदि आपको यह पसंद नहीं है कि यह कैसे लिखा जाता है तो आप पूरी तरह से, पूरी तरह से, सॉफ्टवेयर को स्वयं बदलने में सक्षम हैं। यह अविश्वसनीय रूप से सशक्त है। जिस तरह से आप चाहते हैं उस आईडीई को अलग नहीं कर सकते? या तो परिवर्तन करें और उन्हें वापस ऊपर की ओर जमा करें, या परियोजना को कांटा करें। यकीन नहीं होता कि कुछ ऐसा क्यों करता है? स्रोत का उपयोग करें, ल्यूक! कमांड लाइन के माध्यम से कुछ को स्वचालित करने में सक्षम होने की आवश्यकता है? प्रोजेक्ट पर हैक करें और अपने परिवर्तनों को स्टिक करें। एक बग, या एक सुरक्षा मुद्दे पर आएं। अरे लगता है कि क्या - आप इसे ठीक कर सकते हैं, आपको बाहर आने के लिए SP3.432vb89234.startdate1eQ की प्रतीक्षा करने की आवश्यकता नहीं है।
आप उन उपकरणों को जोड़ सकते हैं जिन्हें आप चाहते हैं और जिनकी आपको आवश्यकता है। और अगर वहाँ कुछ है जो आपके रास्ते में है, तो आप उस परिवर्तन को प्राप्त करने में 100% सक्षम हैं। यहां तक कि अगर आपके पास क्षमता नहीं है, तो आप निश्चित रूप से किसी को उस परिवर्तन को विकसित करने के लिए भुगतान कर सकते हैं - या किसी और को भी सुझाव दे सकते हैं जिसके पास पता है कि कैसे।
यह प्रोग्रामिंग के लिए बेहतर है, क्योंकि जब आप घर्षण में आते हैं , तो आप इसे अपने वर्कफ़्लो से समाप्त कर सकते हैं। क्योंकि विकास कठिन है , एक सफल प्रोग्रामर बनने के लिए बहुत सी चीजें हैं जिनके बारे में आपको सोचना है, और जितना अधिक आपको अन्य चीजों के बारे में सोचना है उतना ही कठिन है ।
घर्षण को खत्म करना महत्वपूर्ण है।
इसलिए यदि Microsoft पारिस्थितिक तंत्र धर्म वह है जहाँ आप घर पर महसूस करते हैं, और आप साधनों का इतना आनंद लेते हैं कि यह आपको बहुत अधिक / कोई भी घर्षण प्रदान नहीं करता है ... ठीक है, यह शायद तब ठीक है।
लेकिन अगर आप Microsoft ढालना (tm), पेटेंट लंबित नहीं रखते हैं, तो आप घर्षण में भाग जाएंगे। विकास को दर्द होगा। हर बार जब आप चाहते हैं कि आप कुछ कर सकते हैं, लेकिन ऐसा नहीं कर सकते हैं, जो कीमती संज्ञानात्मक संसाधनों को खत्म कर देगा। और अगर ऐसा है, तो लिनक्स विकास का माहौल शायद आपके लिए है।
vim
अपनी पसंद के अनुसार संपादक भी मिल सकते हैं। यह एक बहुत व्यक्तिपरक क्षेत्र है! कई लोग लिनक्स पर आईडीई का उपयोग करते हैं, हालांकि, आप यहां कई चीजों का सामना कर रहे हैं।