2011-01-29 11 views
5

चूंकि स्केमम्बर मैं क्लोजर के साथ खेल रहा हूं, जो JVM पर एक कार्यात्मक लिस्पी भाषा है। मैंने इसे कुछ छोटी शौक परियोजनाओं में इस्तेमाल किया। भाषा बहुत संक्षिप्त, सरल है, लेकिन मैं एक निष्कर्ष पर आया कि एस-अभिव्यक्ति वास्तव में मेरे लिए नहीं हैं।एफ #, पहले से .NET अनुभव

स्कैला, हास्केल, ओकैमल इत्यादि जैसी अन्य कार्यात्मक भाषाएं हैं, लेकिन वे अकादमिक भाषाओं की अधिक प्रतीत होती हैं।

देर से मैं अपने खाली समय में F # सीखने पर विचार कर रहा हूं। मुझे कुछ प्रश्न हैं:

  • मैं मुख्य रूप से एक लिनक्स उपयोगकर्ता हूं। मुझे चिंता है कि मोनो पीछे पीछे हो सकता है।
  • मैं ज्यादातर गतिशील भाषा में वेब-देव कर रहा हूं जिसे मैं प्रसन्न करता हूं। मैं कुछ शौक जीयूआई ऐप्स, या सरल गेम के लिए एफ # का उपयोग करता हूं। क्या दोनों के लिए अच्छा समर्थन है? उदाहरण के लिए आईफोन या एंड्रॉइड डिवाइस पर मोनो/एफ # का इस्तेमाल किया जा सकता है?

जब मैं क्लोजर सीख रहा था तो मेरे पास थोड़ा जावा अनुभव था। यह एक बड़ी समस्या नहीं निकला। जावा इंटरऑप बहुत आसान था, और जावा एक भाषा के रूप में भी बहुत सरल है, इसलिए मुझे दस्तावेज पढ़ने में कोई समस्या नहीं थी।

  • क्या एफ # का इंटरऑप काफी आसान है, और क्या .NET/C# ज्ञान की कमी बाहरी पुस्तकालयों का उपयोग करने में कठिनाई उत्पन्न करती है?
  • अन्त में, जो संसाधनों/किताबें मुझे एफ # (कुछ कार्यात्मक अनुभव, कोई भी नेट/सी #)

धन्यवाद जानने के लिए

+1

यदि मैं आप थे तो मैं इसके बजाय ओकैमल या हास्केल का उपयोग करूंगा। एफ # की तुलना में उत्पादन में बहुत अधिक हैस्केल और ओकैमल है। –

+1

वे निश्चित रूप से मोहक हैं, लेकिन यह एक नुकसान है कि वे किसी भी प्रमुख प्लेटफॉर्म, जेवीएम/नेट पर नहीं चल रहे हैं। – markin

+0

@ राफ: "एफ # की तुलना में उत्पादन में बहुत अधिक हैस्केल और ओकैमल है।" ओकैमल, शायद। हास्केल, मुझे गंभीरता से संदेह है। –

उत्तर

9

वहाँ मैक और लिनक्स पर अच्छी तरह से काम करने के लिए एफ # हो रही पर प्रगति का एक बहुत हो गया है:

  • में नवंबर 2010, एफ # टीम ने एफ # स्रोत कोड की एक ओपन-सोर्स (अपाचे) रिलीज की घोषणा की।मोनो टीम मोनो के अगले संस्करण में इसे एकीकृत करने की योजना बना रही है (देखें Miguel de Icaza's blog)।

  • मोनो के लोगों ने पहले से ही एकीकरण पर काम करना शुरू कर दिया है और उनके पास मोनो-स्टाइल मेकफ़ाइल के साथ एक संस्करण है, जिसे आप get & build from Github कर सकते हैं। यदि आप स्वयं F # बनाना नहीं चाहते हैं, तो आप community-created Max/Linux package available here का भी उपयोग कर सकते हैं।

  • मैंने एक F# integration for MonoDevelop बनाया है जो आपको बहुत अच्छा उपयोगकर्ता अनुभव प्रदान करता है (प्रकार की जानकारी, पृष्ठभूमि प्रकार की जांच और समापन के साथ टूल टिप्स सहित)।

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

+0

क्या आप एक आईफोन/मोनो सीमा का उदाहरण देना चाहते हैं जो एफ # को प्रभावित करता है लेकिन सी # नहीं? –

+0

@ जोएल: जहां तक ​​मुझे पता है, मोनो का आईफोन संस्करण जेनेरिक को कुछ अजीब तरीके से मिटा देता है। मुझे यकीन नहीं है कि यह अद्यतित जानकारी है (यह केवल एफ # शिक्षा कार्यशाला में मिगुएल के साथ देर रात की बार चर्चा पर आधारित है :-)) –

+0

यह एफ # को अलग-अलग # # पर क्यों प्रभावित करेगा? –

1

मोनो पर्याप्त अगर आप की कोशिश नहीं कर रहे हैं अच्छा है पर्याप्त होगा प्रचार लहर के खून बहने वाले किनारे पर सवारी करें। एफ # इसके साथ अच्छी तरह से काम करता है।

पी-इनोक का उपयोग करते हुए सी-जैसे एपीआई के साथ .NET इंटरऑप का उपयोग करना मुश्किल नहीं है। यदि आप एक विशाल एपीआई बाध्यकारी हैं, तो इसमें कुछ समय लगता है।

मेरा मानना ​​है कि मोनो के पास कुछ आईफोन समर्थन है और एंड्रॉइड समर्थन के बारे में नहीं पता। लेकिन मैं मोबाइल प्रोग्रामिंग के साथ काम नहीं करता, इसलिए, नमक के अनाज के साथ इसे ले लो।

पुस्तकें मेरे व्यक्तिगत पसंदीदा F# for Scientists जॉन हैरोप द्वारा हैं। इसमें पर्याप्त सामग्री शामिल है, भले ही आप वैज्ञानिक कंप्यूटिंग में न हों और यह बेहद अच्छी तरह लिखा गया हो।

+0

मोनो के पास आईफोन का समर्थन है, http://MonoTouch.net और एंड्रॉइड भी देखें, http://MonoDroid.net – bitek

+0

देखें "जॉन हेरोप द्वारा वैज्ञानिकों के लिए मेरा निजी पसंदीदा एफ # है"। धन्यवाद! –

0

उबंटू पर, कम से कम, आप मोनो 2.8.2 और एफ # को संकलित करना चाहते हैं।

मेरे पास विशेषज्ञ एफ # 2.0 है और यह भी अच्छा है, लेकिन मुझे पता चला है कि अन्य सभी पुस्तकें लेखक स्टैक ओवरफ़्लो पर सक्रिय हैं!

अब तक मैंने एफ # के साथ बहुत कम सी #/.NET का उपयोग किया है, मुझे वास्तव में क्लोजर के साथ जावा सामान का उपयोग करना पड़ा है।

एफ # बहुत ज्यादा एक कैथेड्रल अभी है, लेकिन यह बहुत है ...