क्या IronScheme सीखने लायक होने के लिए पर्याप्त या स्थिर पर्याप्त है?


17

आयरनस्चेम का उल्लेख विकिपीडिया पर एक असफल प्रोजेक्ट के उत्तराधिकारी के रूप में किया गया है जिसका नाम आयरनलाइस्प है, लिस्प को सीएलआर और .NET में लाना, जिस तरह से क्लोजर जेवीएम के लिए करता है। क्या किसी को इस भाषा के साथ अनुभव है? यह काफी हद तक पूर्ण (99%) लग रहा है, लेकिन मुझे यकीन नहीं है कि यह कैसे निर्धारित किया जाए कि इसे स्थापित करने या नहीं करने के साथ मेरे समय के लायक है। स्थिर या पूर्ण होने से मेरा मतलब है कि यह केवल औजारों और प्रोजेक्ट यूलर शैली की समस्याओं से निपटने के बजाय वास्तविक परियोजनाओं के लिए उपयोग करना है।

जवाबों:


26

मैं आयरनस्चेम का लेखक हूं। मुझे यकीन नहीं है कि आपके प्रश्न का उत्तर कैसे दूंगा, लेकिन कोशिश करूंगा :)

IronScheme पहली बार योजना (R6RS विशेष रूप से) को लागू करने की कोशिश करता है, जिसका माध्यमिक उद्देश्य सीएलआर इंटरऑपरेबिलिटी है।

क्लोजर की तुलना में (उनके बुरे बिंदुओं पर ध्यान देते हुए), आयरनस्चेम नहीं होगा:

  • आपको CLR रनटाइम अपवाद देना; IronScheme योजना के अपवाद हैंडलिंग का उपयोग करता है
  • आपको 'अनंत' स्टैक्ट्रेसेस देते हैं; IronScheme ठीक से पुनरावर्ती है
  • सेटअप करना कठिन हो; बस निर्देशिका और निकालने के लिए निकालें
  • शुरू करने के लिए लंबा समय; IronScheme (जब ngen'd) केवल REPL शुरू करने के लिए 0.1 सेकंड लेता है
  • अस्पष्ट होना; IronScheme एक मानकीकृत विनिर्देश को लागू करता है

दुर्भाग्य से जहां क्लीजुर जीत है:

  • प्रलेखन
  • चौखटे और पुस्तकालय
  • उपयोगकर्ता समुदाय

यह आयरनस्चेम के लिए चिंताजनक है, क्योंकि पिछले 3 उल्लेख चिकन-अंडे का परिदृश्य है। निजी तौर पर, मैं केवल पुस्तकालयों का निर्माण करता हूं जब मुझे उनकी आवश्यकता होती है, और बहुत छोटे उपयोगकर्ता समुदाय के साथ, बग रिपोर्ट के लिए उपयोगकर्ताओं से बहुत योगदान नहीं होता है। मैं एक बड़े उपयोगकर्ता समुदाय को पसंद करूंगा।

समर्थन के लिए, मैं आम तौर पर उपवास के दौरान उपयोगकर्ताओं की मदद कर सकता हूं। इस साक्ष्य को आयरनस्कैम चर्चा बोर्डों पर मेरी प्रतिक्रिया के समय से देखा जा सकता है। इसके अलावा, कीड़े की पहचान होते ही सामान्य रूप से तय हो जाती है।

स्थिरता के लिए, कोडबेस बहुत परिपक्व है, और वर्तमान में केवल बग फिक्स और अनुकूलन केवल कोड जोड़ हैं।

प्रयोज्य के रूप में, यदि आप .NET फ्रेमवर्क से परिचित हैं, तो आप IronScheme के साथ बहुत कुछ कर सकते हैं जैसा कि आप किसी अन्य .NET भाषा के साथ कर सकते हैं; यह अधिक कठिन या आसान हो सकता है जो इस बात पर निर्भर करता है कि आप अधिक स्कीम जैसे मुहावरों में अमूर्त करने को तैयार हैं। आयरनस्चेम में चीजें लिखना बहुत आसान है; उदाहरण के लिए मेरा पूरा एमवीसी ढांचा योजना कोड की मुश्किल से 400 पंक्तियों का है, ASP.NET में टैप करने के लिए धन्यवाद (मुझे निश्चित रूप से पहिया का फिर से आविष्कार करना पसंद नहीं है)।

यदि उत्तर पर्याप्त नहीं है तो स्पष्टीकरण मांगने के लिए स्वतंत्र महसूस करें। डेमियन स्थिरता बनाए रखने के मामले में भी अच्छे अंक बनाता है।

सादर

leppie


1
आयरनस्चेम + नेट की तुलना रैकेट, रिट फ्रेमवर्क और लाइब्रेरी से कैसे होती है?
जो इंटरनेट

मुझे पता ही नहीं चला कि वहां एमवीसी ढांचा उपलब्ध था। क्या यह आयरनस्चेम डाउनलोड का हिस्सा है?
रॉबर्ट हार्वे

1
@ रोबर्ट हार्वे: हाँ, कुछ नमूना कोड websample निर्देशिका में है। वर्तमान में ironscheme.net/doc और eval.ironscheme.net
लीपी

@ जो इंटरनेट: वास्तव में कोई रूपरेखा नहीं है, लेकिन आयरनस्चेम में SRFI के बहुत सारे शामिल हैं। मेरे द्वारा लिखी गई अधिकांश लाइब्रेरी सीएलआर इंटरोप के लिए है।
लीपी

2

नोट: मेरे पास IronScheme के साथ अनुभव नहीं है, इसलिए अपने विचारों को नमक के दाने के साथ लें (हालांकि यह रक्तस्रावी प्रौद्योगिकी का उपयोग करने पर अधिक निर्देशित है)।

जब मैं तुच्छ समस्याओं (व्यक्तिगत उपकरण, प्रोजेक्ट यूलर, आदि) के साथ नई तकनीक के साथ खिलवाड़ करूँगा, तो मैंने कहा है कि पूर्ण विकसित परियोजनाओं में प्रौद्योगिकी को रोजगार से बहुत सावधान रहना चाहिए। क्यों?

  • सामुदायिक सहायता: जब आप दीवार से टकराते हैं तो आपको किससे सहायता मिलेगी?
  • अनपेक्षित मुद्दे: यदि तकनीक का पूरी तरह से परीक्षण नहीं किया गया है, तो क्या मैं वास्तव में हूं में समस्या का हल निकालने के लिए पुस्तकालय कोड में खुदाई करना चाहता और इसका सामना नहीं करना पड़ सकता है? अगर मैं कमिटमेंट टीम का हिस्सा बनना चाहता था, तो शायद, लेकिन 99% समय मैं सिर्फ अपने प्रोजेक्ट को पूरा करना चाहता हूं और प्लंबिंग के बारे में चिंता नहीं करनी चाहिए।
  • टीम की प्रतिबद्धता: क्या होगा यदि जो कोई भी परियोजना के ऊपर जा रहा है वह प्लग खींचता है? मेरी परियोजनाएं तब तक अनाथ हैं, जब तक कि मैं इस परियोजना को नहीं संभालना चाहता, जिसमें मेरे पास पिछले बिंदु के समान मुद्दे हैं।

तो, नई तकनीक सीखने, जबकि हमेशा एक अच्छी बात है (सबसे खराब बात यह है कि हो सकता है कि आप सीखें कि कैसे किसी और कुछ को लागू होता है - जो है अच्छा), यह वास्तव में आप पिछवाड़े में थोड़ा कर सकते हैं यदि आप इसे पूर्ण परियोजनाओं के लिए जल्दी अपनाने ।


3
यद्यपि आपके पास एक बिंदु है, मुझे आश्चर्य है कि आप नई तकनीकों से कैसे लड़ाई की परीक्षा की उम्मीद करते हैं, अगर आपकी सलाह लड़ाई में उन पर भरोसा करने की नहीं है? ;)
बैक

1
आप सही कह रहे हैं, यह कुछ हद तक एक स्थिति 22 है। मैं बस अपने अनुभव और पसंद से बोल रहा हूं। मैं बल्कि प्लंबिंग या बंद पुस्तकालयों से संभावित रूप से निपटने के बजाय चीजों को पूरा करने पर ध्यान केंद्रित करना चाहता हूं। जाहिर है किसी को यह करना है .. मैं सिर्फ अपनी परियोजनाओं पर नहीं करूँगा :)
डेमियन ब्रेख्त
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.