मुझे आश्चर्य है कि सी # और स्काला के बीच तकनीकी कार्यान्वयन अंतर क्या हैं और दोनों समाधान ब्रायन गोएत्ज़ द्वारा ईमेल पीक पास्ट लैम्ब्डा में लगाए गए कार्यान्वयन विचारों और चिंताओं की तुलना कैसे करते हैं , प्रोजेक्ट लैम्ब्डा (जेएसआर 335) की मेलिंग सूची को भेजा गया है ?
ईमेल से:
हमने "शायद लंबोदा सिर्फ आंतरिक वर्ग के उदाहरण होने चाहिए, जो वास्तव में सरल होगा" की सड़क का पता लगाया, लेकिन अंततः "भाषा के भविष्य के लिए कार्य एक बेहतर दिशा हैं" की स्थिति में आए।
और आगे:
संसार के लम्बदास-वस्तु-दृश्य इस संभावित भविष्य के साथ टकराव करते हैं। दुनिया के लैंबडास-ए-फ़ंक्शंस दृश्य नहीं है, और इस लचीलेपन को संरक्षित करना, वस्तु-नेस की उपस्थिति के साथ लैम्ब्डा को बोझ नहीं करने के पक्ष में एक बिंदु है।
निष्कर्ष:
लंबोदर-ए-फ़ंक्शन दरवाजे खोलता है। लम्बदास-वस्तुएं उन्हें बंद कर देती हैं।
हम उन दरवाजों को खुला छोड़ना पसंद करते हैं।
और Reddit थ्रेड पर एक व्यक्ति की कुछ टिप्पणी कहती है:
मैंने वास्तव में नील गैटर को इस बारे में और उसके स्पष्टीकरण C # की मेरी सीमित समझ के बारे में ई-मेल किया है और वर्तमान जावा डिज़ाइन काफी हद तक समान है कि डेलीगेट्स वास्तव में ऑब्जेक्ट हैं और फ़ंक्शन प्रकार नहीं हैं। ऐसा लगता है जैसे वह मानता है कि जावा को C # के लैंबडास के नुकसानों से सीखना चाहिए और उनसे बचना चाहिए (बहुत कुछ जैसे C # जावा के नुकसान से सीखा और शुरुआत में उनसे परहेज किया)।
"लैम्ब्डा-ए-फ़ंक्शंस" दृष्टिकोण भविष्य में "लैम्ब्डा-एज़-ऑब्जेक्ट्स" की तुलना में अधिक अवसरों को क्यों सक्षम करता है? क्या कोई समझा सकता है कि क्या अंतर मौजूद हैं और वे कैसे प्रभावित करेंगे कि कोड कैसे लिखा जाएगा?
स्काला "बस काम" में उस चीज़ को देखकर, मैं सोचता रहता हूं कि मैं C # / Java (8) में प्रस्तावित / प्रस्तावित दृष्टिकोणों के बारे में कुछ याद कर रहा हूं, शायद यह पिछड़े-अनुकूलता के बारे में चिंताओं से संबंधित है?