क्या ऐसी भाषाओं के बारे में मौलिक रूप से कुछ अलग है जो एफ # को इंटरैक्टिव कंसोल रखने की अनुमति देता है लेकिन इसे सी # के लिए लागू करना मुश्किल बनाता है?
हाँ।
एफ # एमएल प्रोग्रामिंग भाषा का एक वंशज है, जो बदले में लिस्प और स्कीम जैसी भाषाओं से काफी प्रभावित था। उन भाषाओं को पहले दिन से डिज़ाइन किया गया था जिसमें तीन अच्छे गुण थे।
सबसे पहले, उन भाषाओं वास्तव में जरूरत नहीं है बयान जिस तरह से आप सी # में उनमें से लगता है। बल्कि, लगभग सब कुछ एक अभिव्यक्ति है जिसका मूल्य है , इसलिए एक मूल्यांकन-और-फिर-प्रिंट-द-मूल्य तंत्र लगभग हर स्थिति में समझ में आता है।
दूसरा, वे भाषाएं साइड इफेक्ट्स के साथ प्रोग्रामिंग को हतोत्साहित करती हैं, इसलिए आप बिना किसी चिंता के मूल्यांकन कर सकते हैं कि आप वैश्विक स्थिति को गड़बड़ाने वाले हैं।
तीसरा, अधिकांश कार्य आप उन भाषाओं में करते हैं जो "शीर्ष स्तर पर" हैं; आम तौर पर कोई "वर्ग" या "नाम स्थान" या अन्य संदर्भ नहीं होता है।
इसके विपरीत, C # साइड इफेक्ट्स पैदा करने वाले बयानों के साथ प्रोग्रामिंग नियंत्रण प्रवाह पर जोर देता है, और ये कथन हमेशा कई नेस्टेड कंटेनरों में होते हैं - एक नाम स्थान, एक वर्ग, एक विधि, और इसी तरह।
तो ये सभी चीजें हैं जो सी # के लिए एक आरईपीएल के लिए कठिन बनाती हैं , लेकिन निश्चित रूप से असंभव नहीं हैं । हमें केवल यह पता लगाने की आवश्यकता होगी कि शब्द और कथन सामान्य संदर्भ के बाहर प्रकट होने वाले शब्दार्थ क्या हैं, और शब्दार्थ क्या हैं जो उत्परिवर्तन के होते हैं, जो नाम बाइंडिंग को बदलते हैं, और इसी तरह।
F # में इंटरेक्टिव मोड क्यों है लेकिन C # नहीं है?
क्योंकि F # टीम ने तय किया कि REPL लूप होना उनके लिए प्राथमिकता-एक परिदृश्य था। ऐतिहासिक रूप से C # टीम नहीं है। सुविधाओं को तब तक लागू नहीं किया जाता है जब तक कि वे बजट में फिट होने वाली सर्वोच्च प्राथमिकता वाली सुविधाएँ न हों; अब तक, एक C # REPL हमारी सूची में सबसे ऊपर नहीं रहा है।
रोसलिन परियोजना में C # REPL है (और अंततः VB REPL भी होगा, लेकिन यह अभी तक तैयार नहीं है।) आप इसका पूर्वावलोकन पूर्वावलोकन डाउनलोड करके देख सकते हैं कि आपको यह कैसा लगा।
http://www.microsoft.com/en-us/download/details.aspx?id=27746