किसी भी अन्य नुकसान मैं विचार नहीं कर रहा हूँ?
व्यवहार में, मुख्य गलती जो मैं देखता हूं कि लोग F # के उपयोग को उन समस्याओं के लिए मजबूर करने की कोशिश कर रहे हैं जहां यह नौकरी के लिए गलत उपकरण है।
या किसी ने मेरे द्वारा बताए गए नुकसान की पुनरावृत्ति करने की परवाह की?
वे कुछ हद तक सभी स्पष्ट रूप से मान्य चिंताएं हैं, लेकिन मैं किस डिग्री पर सवाल उठाऊंगा।
उदाहरण के लिए, आप कहते हैं कि F # कोड पर काम करने के लिए सभी को F # सीखना होगा। हालांकि यह सच है, व्यवहार में यह कोई बड़ी बात नहीं है। सीखना एफ # डब्ल्यूपीएफ, सिल्वरलाइट या टीपीएल सीखने से ज्यादा महत्वपूर्ण नहीं है। मैं 30 डेवलपर्स के बारे में सिखा रहा हूं कि अभी लंदन में एक क्लाइंट के लिए एफ # का उपयोग कैसे करें और लगभग एक दर्जन केवल कुछ हफ्तों के बाद एफ # कोड पर पूर्णकालिक काम कर रहे थे और उन्होंने अपने पहले उत्पाद (ऑन-टाइम और इन-बजट) को भेज दिया! ) लगभग पूरी तरह से एफ # में लिखा है केवल कुछ महीनों के बाद। वास्तव में, उन्हें F # की तुलना में सिल्वरलाइट के साथ अधिक तकनीकी कठिनाइयाँ हुईं और उन्होंने पाया कि सिल्वरलाइट के लिए F # की तुलना में बहुत खराब है।
आप उपलब्ध F # प्रोग्रामर्स के अपेक्षाकृत छोटे पूल का उल्लेख करते हैं, लेकिन फिर से, यह देखते हुए कि F # को चुनना कितना आसान है, मुझे नहीं लगता कि यह एक महत्वपूर्ण चिंता है। मुझे संदेह है कि आपको कई को किराए पर लेने की आवश्यकता होगी, यदि कोई हो। मेरे क्लाइंट के पास 100 से अधिक प्रोग्रामर के लिए दो एफ # लोग हैं और हमारा काम एफ # के उपयोग को बीज और पर्यवेक्षण करना है।
आपकी तीसरी और अंतिम चिंता कम सामुदायिक समर्थन का संबंध है, C # समाधान बनाम F # और तीसरे पक्ष के टूल समर्थन के लिए Googling। फिर, मुझे अभ्यास में समस्याग्रस्त होने के लिए नहीं मिला है। मैंने F # में माप की इकाइयों के बारे में एक टिप्पणी के साथ fsbugs को ई-मेल किया और मुझे शोधकर्ता से 24 घंटों के भीतर एक प्रतिक्रिया मिली, जिसने मेरी व्याख्या गलत थी और यह जिस तरह से काम करता है, उसकी विस्तृत व्याख्या के साथ इसका आविष्कार किया। मुझे ऐसा कभी नहीं मिला कि एंडर्स हेजेलबर्ग ;-)। मैं हर समय समाधान के लिए Google को ढूंढता हूं और उन्हें C #, VB या यहां तक कि IronPython में लिखा हुआ पाता हूं, लेकिन F # उद्योग का उपयोग करने के 3 वर्षों में, केवल एक उदाहरण को याद कर सकता है जहां समाधान का F # में अनुवाद करना तुच्छ नहीं था। वास्तव में, मैंने हाल ही में MSDN से F # के लिए डेटा क्रमांक C # नमूना परिवर्तित किया और यह 5 × छोटा था। अंत में, आपने NUnit जैसे उपकरणों में F # समर्थन का उल्लेख किया जब हमने ' कुछ समय से समस्या के बिना F # से NUnit का उपयोग कर रहा हूँ। ये .NET टूल हैं, C # टूल नहीं हैं।
केस स्टडी : मेरा वर्तमान ग्राहक न केवल यूनिट परीक्षण के लिए NUnit का उपयोग कर रहा है, बल्कि उन्होंने BDD के लिए SpecFlow के लिए तकनीकी रूप से बेहतर विकल्प के रूप में NUnit के शीर्ष पर F # में TickSpec का निर्माण किया है । लेखक ने मुझे यह दिखाने का एक बिंदु बनाया कि टिकस्पेक SpecFlow के आकार का एक छोटा सा अंश है और अधिक सुविधाएँ प्रदान करता है। इसके अलावा, बिना किसी पूर्व F # अनुभव के साथ काम करने वाले कई डेवलपर्स (और, मेरा मानना है कि, कोई पूर्व कार्यात्मक प्रोग्रामिंग अनुभव नहीं है) ने इसे उठाया है और इसे बिना किसी समस्या के असंबंधित परियोजनाओं में उपयोग करना शुरू कर दिया है क्योंकि F # + TickSpec उनके समाधान को आसान बना देता है। समस्या का।
एफडब्ल्यूआईडब्ल्यू, मैंने अपने क्लाइंट को हमारे एफ # .NET जर्नल को एक मुफ्त साइट सदस्यता दी, जो एफ # सीखने वाले कई देवों के साथ अच्छी तरह से नीचे चला गया।
HTH!