मुझे पता है कि पावरहेल को आम तौर पर विंडोज़ के लिए आईटी प्रबंधन भाषा माना जाता है, लेकिन आप इसके बजाय एफ # क्यों चुनते हैं, जिसे दृढ़ता से टाइप किया जाता है और 'इंटेलिसेंस' होता है?आईटी कार्य: एफ # स्क्रिप्ट बनाम पावरहेल स्क्रिप्ट
उत्तर
मैं उस कंपनी के लिए बेहतर फिट था जब मैं उस कंपनी के लिए बेहतर फिट था, जिस टीम का उपयोग किया जा रहा था, और हाथ में कार्य। अन्यथा मैं कुछ और चुनूँगा।
मुझे लगता है कि अधिक जानकारी के बिना की तुलना में अधिक विशिष्ट नहीं किया जा सकता है, लेकिन मैं कुछ सवाल आप से पूछना चाहिए सुझाव है कि कर सकते हैं:
- क्या समस्या आप को सुलझाने रहे है?
- समस्या के समाधान को व्यक्त करना किस भाषा में आसान है?
- मौजूदा कर्मचारी एफ # डेवलपर स्वयं हैं (यानी सीखने की अवस्था में शामिल हैं)?
- क्या इस कोड को बनाए रखने वाले लोग प्रशासकों (जो आमतौर पर पावरहेल, & से परिचित हैं, एफ # से परिचित नहीं हैं)?
एक संबंधित संकेत: अपने उत्पादन कोड और आधारभूत संरचना में भाषाओं का विकास करने की अनुमति न दें।
हर तरह से आपके द्वारा की जा रही समस्या को हल करने के लिए सबसे अच्छी भाषा खोजने के लिए प्रयोग करें, लेकिन यदि आपको पांच साल का समय लगता है कि किसी ने किसी ऐसे भाषा में आपके समाधान का मुख्य घटक लिखा है जिसे अब किसी के द्वारा समझा नहीं गया है कंपनी में, आपको अपने हाथों में गंभीर समस्या हो सकती है।
अंगूठे का मेरा व्यक्तिगत नियम (निश्चित रूप से अपवाद हैं) यह है कि एक परियोजना में कोर भाषा और एक स्क्रिप्टिंग भाषा होनी चाहिए ताकि इसे सभी को एक साथ रखा जा सके, & कि उन भाषाओं को समस्या डोमेन फिट करने के लिए पहले चुना जाना चाहिए, और दूसरी टीम में दक्षता को अधिकतम करने के लिए। 'पालतू भाषा' दृढ़ता से उत्पादन कोड या आधारभूत संरचना में निराश होना चाहिए।
यह आपकी समस्या पर निर्भर करता है और कौन स्क्रिप्ट बनाए रखेगा।
पावरशेल प्रशासन क्षेत्रों में बहुत मजबूत है (फाइलों, सक्रिय निर्देशिका, सीएसवी/एक्सएमएल, कंप्यूटर इत्यादि के साथ काम करना), लेकिन यह प्रोग्रामिंग क्षमता काफी सीमित है (उदाहरण के लिए जेनेरिक का मामला)। PowerShell में थ्रेडिंग उतना आसान नहीं है जितना हो सकता है। लेकिन प्रशासकों से कोई भी उम्मीद नहीं करता कि वे धागे का उपयोग करेंगे। इसके बजाय पृष्ठभूमि नौकरियां हैं जो प्रशासक की जरूरतों को संतुष्ट करती हैं।
दूसरी तरफ, एफ # वास्तविक प्रोग्रामिंग भाषा है, जिसका अर्थ है कि यह काफी कम स्तर है और इसलिए वर्बोज़ (पावरशेल की तुलना में)। पावरशेल में लिखे गए कुछ कार्य एक-लाइनर हैं, जबकि एफ # में आप बहुत सारे कोड लिखेंगे। इसके अलावा - आप दूरस्थ कंप्यूटर (Invoke-Command -computer myserver ...
) पर चल रहे कमांड को कैसे प्राप्त करेंगे?
जैसा कि आप देखते हैं, यह आपकी समस्या पर निर्भर करता है।
स्क्रिप्ट को बनाए रखने वाले भी बहुत महत्वपूर्ण हैं। आप छुट्टी पर हो सकते हैं और आपके सहयोगियों को स्क्रिप्ट संपादित करने की आवश्यकता होगी। दोनों भाषाओं को सीखने के लिए कुछ समय चाहिए। आईएमएचओ पावरशेल सीखना आसान है; कार्यात्मक शैली में सोचने से आपके सिर को झुकाव की जरूरत है।
यह संभवतः एक बुरा विचार है, इस समय, एफ # में लिपियों को लिखना चुनने के लिए यदि उन्हें स्वयं के अलावा किसी अन्य व्यक्ति की आवश्यकता हो सकती है ...
- एफ # बोलने वाले लोगों का कैडर बहुत छोटा है, इसलिए आप स्क्रिप्ट बना रहे हैं जो बहुत कम लोग पढ़ या संपादित कर सकते हैं।
- एफएसआई निष्पादन योग्य नेट फ्रेमवर्क के साथ नहीं आता है, न ही यह एफ # रनटाइम पुनर्वितरण पैकेज (जहां तक मैं बता सकता हूं) का हिस्सा है। इसका अर्थ यह है कि स्क्रिप्ट केवल निष्पादित की जा सकती हैं जहां एफ # टूल्स के साथ विजुअल स्टूडियो स्थापित किया गया है।
स्पष्ट अपवाद, ज़ाहिर है, है अगर आप एक डेवलपर, एक परियोजना जहां एफ # एक प्राथमिक भाषा है पर काम कर के बाद से इसका मतलब यह होगा कि हर किसी कि मायने रखती है चलाने के लिए और संपादित करने के लिए सक्षम हो जाएगा रहे हैं आपकी स्क्रिप्ट
हालांकि, मैं कहना है कि मैं इस आदर्श/असाधारण मामले में भी लगता है कि है, यह शायद एफ # उपयोग करने के लिए करता है, तो अपना स्क्रिप्टिंग कार्य कार्य जिसके लिए वहाँ PowerShell में पहले से मौजूद cmdlets हैं शामिल अधिक काम होगा (यानी: फाइल सिस्टम कार्य, रजिस्ट्री, डेटाबेस रखरखाव, सक्रिय निर्देशिका, विनिमय, सूची चालू और चालू होती है)। बेशक, आप अभी भी ऐसा करना चुन सकते हैं यदि आप भाषा सीखने का अवसर के रूप में इन स्क्रिप्ट का उपयोग कर रहे हैं, लेकिन दिमाग में 1 & 2 ;-)
- 1. दशमलव रूपांतरण एफ # स्क्रिप्ट बनाम संकलित एफ #
- 2. पावरहेल स्क्रिप्ट
- 3. स्क्रिप्ट कार्य
- 4. पावरहेल स्क्रिप्ट को बढ़ाएं
- 5. पावरहेल पॉवर्सहेल स्क्रिप्ट
- 6. निष्पादित एफ # स्क्रिप्ट
- 7. स्वयं-होस्टेड एफ # स्क्रिप्ट
- 8. एफ # कार्य बनाम मूल्य
- 9. स्कीम स्क्रिप्ट बनाम बिल्ड फेज स्क्रिप्ट
- 10. एसएसआईएस - स्क्रिप्ट कार्य
- 11. एसएसआईएस, स्क्रिप्ट कार्य
- 12. मैक्रोडेफ़ बनाम स्क्रिप्ट बनाम जावास्क्रिप्ट
- 13. क्रोम एक्सटेंशन कोड बनाम सामग्री स्क्रिप्ट बनाम इंजेक्शन स्क्रिप्ट
- 14. रेल "स्क्रिप्ट/कंसोल" बनाम "स्क्रिप्ट/कंसोल --sandbox"
- 15. शुद्धता के लिए पावरहेल स्क्रिप्ट का परीक्षण
- 16. पावरहेल स्क्रिप्ट फंस जाती है, बैच फ़ाइल
- 17. एक पावरहेल स्क्रिप्ट या कमांड लाइन
- 18. फ़ायरफ़ॉक्स एक्सटेंशन बनाम Greasemonkey स्क्रिप्ट?
- 19. स्क्रिप्ट
- 20. लघु उद्योगों स्क्रिप्ट कार्य चर मान
- 21. जावास्क्रिप्ट कार्य करना बंद कर मेरी स्क्रिप्ट
- 22. PHP: वर्तमान कार्य निर्देशिका को स्क्रिप्ट
- 23. एसएसआईएस स्क्रिप्ट कार्य एक एसएसआईएस ऑब्जेक्ट वैरिएबल
- 24. स्क्रिप्ट
- 25. कंसोल एप्लिकेशन पर पावरहेल स्क्रिप्ट के क्या फायदे हैं?
- 26. Zend_View_Helper बनाम ज़ेंड देखें आंशिक स्क्रिप्ट
- 27. क्या स्क्रिप्ट
- 28. स्क्रिप्ट
- 29. स्क्रिप्ट
- 30. स्क्रिप्ट
स्क्रिप्टिंग बनाम प्रोग्रामिंग ... फिर से नहीं। –
@ फिलिप मुझे लगता है कि यह वास्तव में स्क्रिप्टिंग बनाम स्क्रिप्टिंग है। हालांकि मुझे व्यक्तिगत रूप से हल करने के लिए इस तरह के प्रश्न मिलते हैं। –
@ कॉनराड, एफ # स्क्रिप्टिंग afaik नहीं है। –