2009-02-25 6 views
10

आपकी इच्छा क्या है रूबी (और आमतौर पर रूबी समुदाय) में सुधार होगा?रूबी भाषा में आप क्या चीजें सुधारना चाहते हैं?

मैंने somewhere पढ़ा है कि रुबी मिस पर्ल के साथ नानी के रूप में स्मॉलटाक और एलआईएसपी का प्रेम-बच्चा है।

मुझे रूबी के माता-पिता के लिए बहुत सम्मान है, लेकिन मुझे यकीन नहीं है कि मुझे मिस पर्ल के बच्चे पर प्रभाव पसंद है। विशेष रूप से, मुझे पूर्वनिर्धारित चर पसंद नहीं हैं: मुझे यह जानने के लिए cheat sheet की आवश्यकता है। आप कह सकते हैं "बस उनका उपयोग न करें"। खैर, मैं नहीं ... लेकिन अन्य लोग करते हैं। और जब मैं वेब पर एक प्लगइन डाउनलोड करता हूं, तो मुझे अपने धोखाधड़ी को लाने के अलावा कोई विकल्प नहीं है अगर मुझे कभी भी स्रोत कोड को स्पर्श करने और स्पर्श करने की आवश्यकता है। मेरी इच्छा है कि वे खुद को भाषा से हटा दें।

इसके अलावा, मुझे लगता है कि रूबी एक चलती लक्ष्य का बहुत अधिक है। मामूली रिलीज पर भी, मेरा कोड हर नए रूबी अपग्रेड पर टूट जाता है। यह रूबी पर रूबी और अधिकांश रेल प्लगइन्स के साथ भी सच है, जिनके साथ मैंने काम किया है: वे बस हर समय बदलते हैं, और कोई भी इस बात पर ध्यान नहीं देता कि परिवर्तन सबकुछ तोड़ते हैं या नहीं। आईएमएचओ, हालांकि मुझे रूबी में बहुत सी चीजें पसंद हैं, स्थिरता की कमी लगभग एक शो-स्टॉपर है।

+0

आप अपने खुद के प्रश्नों का उत्तर दे सकते हैं, लेकिन यदि आप कठोर न होने की चिंता करते हैं, तो उन्हें सामुदायिक उत्तरों में बनाएं। – Slartibartfast

+0

अरे, मैंने पहले कभी चेकबॉक्स नहीं देखा! संकेत के लिए धन्यवाद। – MiniQuark

+0

मुझे लगता है कि पर्ल और स्मॉलटाक सीधे माता-पिता होने का मामला है, लिस्प परिवार के मित्र के रूप में। –

उत्तर

0

काश वे पूर्वनिर्धारित वैरिएबल से छुटकारा पाने होगा: $!, $&, $+, आदि

+0

यदि आप क्रिप्टिक ग्लोबल वैरिएबल पसंद नहीं करते हैं तो आप हमेशा अंग्रेजी.आरबी (जो मानक लाइब्रेरी का हिस्सा हैं) शामिल कर सकते हैं। http://www.ruby-doc.org/core/files/lib/English_rb.html –

+1

दिलचस्प, लिंक के लिए धन्यवाद। लेकिन मेरा मुद्दा यह है कि जब तक * कोई भी * उन पूर्वनिर्धारित चर का उपयोग करता है, तब भी मुझे अपनी धोखाधड़ी तैयार करनी होगी। – MiniQuark

7

काश लोग एक अटूट नियम के रूप में मामूली विज्ञप्ति के बीच पश्चगामी संगतता पर विचार करेगा जब एक नई भाषा को रिहा (या पुस्तकालय या ढांचे) संस्करण।

+0

क्या आपका मतलब है "मामूली रिलीज" 1.8.x और 1.8.y के बीच परिवर्तन? आपको किस तरह के मुद्दों का सामना करना पड़ा है? –

+0

हां, मेरा मतलब है 1.8.x और 1.8.y के बीच परिवर्तन। उन परिवर्तनों में 100% दर्द रहित होना चाहिए, और वे नहीं हैं। 1.x से 1.y में परिवर्तन कुछ मामूली रिफैक्टरिंग शामिल हो सकते हैं। 1. से 2. में परिवर्तन सबकुछ तोड़ सकते हैं, ठीक है। – MiniQuark

+0

1.8.x और 1.8.y के बीच आप किस तरह के मुद्दों को बदल रहे हैं? –

1

मैं स्रोत का उपयोग करने के बजाय आरपीएम के रूप में रूबी 1.9 स्थापित करने में सक्षम होने की सराहना करता हूं।

+0

आपका वितरण आपको पैकेज प्रदान करने के लिए ज़िम्मेदार है। यदि वे नहीं करते हैं, तो त्वरित खोज रूबी 1.9.1 आरपीएम के परिणाम देगा। रूबी के साथ इसका कोई लेना-देना नहीं है। –

+0

@ नाथन: मैं देखता हूं कि आपका क्या मतलब है। लेकिन तथ्य यह है कि भाषा के साथ इसका कोई लेना-देना नहीं है इसका मतलब यह नहीं है कि यह रूबी उपयोग के बारे में एक अप्रासंगिक शिकायत है। उदाहरण के लिए, मैं शिकायत कर सकता हूं कि रूबी डेवलपर्स महंगे हैं: मैं भाषा के बारे में शिकायत नहीं कर रहा हूं, बल्कि इसके पर्यावरण के बारे में शिकायत कर रहा हूं। – MiniQuark

+0

बीटीडब्लू, "रूबीगेम्स बनाम डेबियन" युद्ध खत्म होना है। – MiniQuark

0

मैं स्थिर संकलन-समय मेटाप्रोग्रामिंग के लिए समर्थन प्राप्त करना चाहता हूं। Converge Programming Language एक अच्छा प्रारंभिक बिंदु हो सकता है।

2

मॉड्यूल और कक्षाओं के बीच कृत्रिम भेद से छुटकारा पाने के लिए अच्छा होगा।

मॉड्यूल और क्लासेस दोनों नामस्थान हैं। मॉड्यूल भी मिक्सिन हैं, जबकि कक्षाएं नहीं हैं। मॉड्यूल भी नहीं हो सकते हैं जबकि कक्षाएं भी तत्काल हो सकती हैं। यह भेद अनावश्यक है। बस मॉड्यूल से छुटकारा पाएं और कक्षाओं को मिक्सिन्स के रूप में इस्तेमाल करने दें।

यह एक ऐसी भाषा का उदाहरण है जहां यह काम करता है Newspeak

+0

+1 दिलचस्प। मैं पायथन में मिश्रित का उपयोग करता हूं: वे बस कक्षाएं हैं। आप केवल "शामिल" करने के लिए विरासत का उपयोग करें। – MiniQuark

+3

विरासत और मिश्रण अलग हैं। – nitecoder

+0

आप कक्षा \ कक्षा 'के बावजूद कक्षा में एक वर्ग को मिश्रण नहीं कर सकते हैं? निश्चित रूप से यह liskov प्रतिस्थापन सिद्धांत का उल्लंघन करता है? –

1

रुबी पूरी तरह से संदेश भेजना आधारित है, संदेश भेजने वाले सभी चीज़ों से छुटकारा पाएं: स्थानीय चर, वैश्विक चर, आवृत्ति चर, वर्ग पदानुक्रम चर, स्थिरांक, जादू ग्लोबल्स, जादू स्थिरांक, बिल्टिन ऑपरेटर, बिल्टिन कीवर्ड, यहां तक ​​कि शाब्दिक। अविश्वसनीय शक्ति और लालित्य के लिए Self, Ioke या Newspeak देखें।

1

मिक्सिन सिस्टम को Traits सिस्टम के साथ बदलें।

+0

चेक करें। (ठीक है, ठीक है, यह * प्रतिस्थापित नहीं किया गया है *, यह * जोड़ा गया *।) –

3

मेरी इच्छा है कि मानक पुस्तकालय के कुछ कम इस्तेमाल किए गए मॉड्यूल दस्तावेज किए गए थे।

+2

सौभाग्य से, यह ऐसा कुछ है जिसे आप रुबी कोर योगदानकर्ता के बिना ठीक कर सकते हैं। –

+1

कुछ महीने पहले एक पोस्ट पूछा गया था कि क्या मानक पुस्तकालय एक यहूदी था। –

-2

एक सामान्य लिस्प शैली Conditions सिस्टम के साथ अपवादों को बदलें।

3

require-फ़ाइलों को कम दर्दनाक बनाओ। मुझसे मत पूछो कि कैसे, लेकिन शायद एक फ़ाइल शामिल पथों को जानने के लिए समर्पित है और बस बाकी सब कुछ से संबंधित पथ क्रूड से छुटकारा पाएं।

+0

रूबी 1.9 में 'requ_relative' है, जिसने बाहरी फ़ाइलों को मेरे लिए अधिकतर समय तक दर्द रहित की आवश्यकता होती है, लेकिन मैं इस बात से सहमत हूं कि कुछ प्रकार के' प्रोजेक्ट रूट 'या' एप्लिकेशन पथ 'से काम करने के लिए होना चाहिए। –