रूबी ने क्या सही किया (या यह रेल था)? [बन्द है]


13

अधिकांश प्रोग्रामिंग भाषाओं में कुछ डिज़ाइन निर्णय होते हैं जो उनके उपयोग और प्रयोज्यता को प्रभावित करते हैं।

उदाहरण के लिए:

  • पायथन ने कोड की स्थिरता / पठनीयता पर ध्यान केंद्रित किया और इंडेंटेशन भाषा का ही एक हिस्सा था।
  • जावा का इरादा C ++ की तुलना में क्रॉस प्लेटफॉर्म OOP 'आसान' और 'फ्रेंडलीयर' होना था
  • ऑब्जेक्टिव-सी उस समय C ++ का भविष्य न जानने वाले C के आसपास OO आवरण के रूप में बनाया गया था
  • एरलैंग को अत्यधिक दोष सहिष्णु और समवर्ती प्रणालियों के लिए डिज़ाइन किया गया है
  • PHP वेब पृष्ठों के गतिशील निर्माण से निपटने के लिए डिज़ाइन किया गया
  • कॉफीस्क्रिप्ट को जावास्क्रिप्ट के अच्छे हिस्सों को उजागर करने के लिए डिज़ाइन किया गया और ओओपी सिंथैटिक शुगर को जोड़ने और जेएस की बारीकियों (ग्लोबल्स आदि) को 'पर्दे के पीछे' आदि में छिपा दिया।

प्रत्येक प्रोग्रामिंग भाषा ने एक विशेष आला IMHO पर शोषण और पूंजीकरण करने की कोशिश की। उपरोक्त मेरे विचार हैं कि प्रोग्रामिंग भाषाओं के संस्थापक सिद्धांत क्या थे और इसने उनके विकास और व्यापक अपनाने को नियंत्रित किया। बेशक, कई और भी हैं, लेकिन सूची केवल एक उदाहरण के रूप में अभिप्रेत है

हालांकि, मैंने उन संस्थापक सिद्धांतों को समझने के लिए संघर्ष किया है जिन पर रूबी आधारित है और इसकी बढ़ती लोकप्रियता है। रूबी के संस्थापक सिद्धांत क्या थे जो आज इसे लोकप्रिय बनाते हैं? या यह एक आदमी की प्रतिभा है जिसने रेल की रूपरेखा तैयार की है? यदि बाद में यह हुआ कि रूबी ने रेलिंग की डिजाइनिंग को बेहतर / आसान / तेज कर दिया? किस तरीके से?

इसके रचनाकार के अनुसार सबसे आम तौर पर उद्धृत कारण 'है ... एक मजेदार कमजोर टाइपिंग प्रोग्रामिंग भाषा चाहता था' - मुझे नहीं लगता कि पूरी तरह से एक नई प्रोग्रामिंग भाषा बनाने के लिए एक कारण के रूप में! प्रोग्रामिंग भाषा की परवाह किए बिना बहुत मज़ेदार है IMHO (प्रत्येक भाषा के कुछ बुरे हिस्से होते हैं, लेकिन एक या तो इसके आसपास रहता है या इसके साथ रहता है)।

तो क्या आला (या करता है) रूबी शोषण जो वर्तमान भाषाओं द्वारा शोषित नहीं है? रूबी का y मजबूत बिंदु ’(यूएसपी) क्या है, जिसके कारण इसे व्यापक रूप से अपनाया गया है? रूबी ने ऐसा क्या किया जो पहले नहीं किया गया था (या बेहद मुश्किल था)?

मैं रूबी प्रोग्रामर नहीं हूं, लेकिन सिर्फ एक रूबी नॉब और इसलिए भ्रम।

अस्वीकरण : यह एक लौ युद्ध नहीं है और मैं रूबी बनाम प्रोग्रामिंग भाषा प्रकार के उत्तरों की तलाश में नहीं हूं। मैं उन डिज़ाइन निर्णयों की तलाश कर रहा हूँ, जिन पर रूबी आधारित है, जिसके कारण व्यापक रूप से अपनाई गई है। रूबी क्या लोकप्रिय हो गई है या वह पूरी तरह से रेल के लिए जिम्मेदार ठहराया गया है?

जवाबों:


11

मुझे लगता है कि रूबी ने कई कारणों से दूर किया:

  • रेल की रूपरेखा। वेब अनुप्रयोगों के विकास को आसान बनाने के लिए और विकासकर्ता की उत्पादकता को बढ़ाने के लिए कई उपयोगी पैटर्न को एक साथ इकट्ठा किया गया। इसकी तुलना जावा के वर्बोज़ और थकाऊ वेब डेवलपमेंट और "वन मैन शो" .NET प्लेटफ़ॉर्म से करें। मिनटों में वेबलॉग वेब एप्लिकेशन बनाना एक जबड़ा छोड़ने वाला था।
    आप ग्रिल्स, प्ले जैसे कई नए JVM वेब फ्रेमवर्क पर "रेल प्रभाव" देख सकते हैं! और स्प्रिंग रो।
  • ट्विटर और जीथब जैसी सफलता की कहानियां। स्टार्टअप को जल्द से जल्द बाजार में उतरने की जरूरत है और रेल के साथ, यह संभव है। सफलता की कहानियाँ एक प्रमाण थीं।
  • रूबी प्रोग्रामिंग भाषा ही सुंदर, शक्तिशाली और अभिव्यंजक है। IMHO, रूबी रेल्स सफलता की गुप्त चटनी है।
    ककड़ी और सिनात्रा की सुंदरता को देखें, डीएसएल की सुंदरता सही है।
  • उत्सुक और बहादुर समुदाय जो प्रयोग और नवाचार करने से डरते नहीं हैं।
  • (व्यक्तिगत राय और महत्वपूर्ण कारण नहीं हो सकता है) यह जापान में बनाया गया है। "मेड इन जापान" की छवि कुछ भी नहीं धड़कती है।
    मेरे लिए, विभिन्न देशों में बनाई गई प्रोग्रामिंग भाषा सीखना नए लोगों से मिलने के समान है। यह मजेदार और शिक्षाप्रद है।
    रूबी / जापान, OCaml / फ्रांस, लुआ / ब्राजील, लिस्प / मंगल :)

5
"द वन मैन शो .NET प्लेटफ़ॉर्म" से आपके कहने का मतलब यह है कि यह एक ऐसा वाक्यांश नहीं है जिसे मैंने पहले सुना है?
कार्सन 63000

2
लिस्प / मंगल के लिए +1। वह स्थान हास्केल कहाँ है?
एडम

2
हास्केल पृथ्वी के भीतर गहरे से आता है जहां डेवलपर्स की तरह छोटे बौने की एक सेना ने ओओ प्रोग्रामर को भ्रमित करने के उद्देश्य से इसे बनाया
डैनियल ग्रैजर

1
@ अदम "द अटलांटिस सभ्यता"
चिरोन

13

यह सीधे शीर्षक प्रश्न का उत्तर नहीं देता है, लेकिन उठाए गए कुछ बिंदुओं को संबोधित करता है (यानी रूबी को क्यों बनाया गया था)

रूबी के निर्माता, युकीहिरो 'मात्ज़' मात्सुमोतो के उद्धरण, जो यह बताने में मदद कर सकते हैं कि इसकी रचना से क्या प्रेरित हुआ:

  • "मैं एक स्क्रिप्टिंग भाषा चाहता था जो पर्ल से अधिक शक्तिशाली हो, और पायथन की तुलना में अधिक वस्तु-उन्मुख हो"
  • "मुझे उम्मीद है कि रूबी को दुनिया के हर प्रोग्रामर को उत्पादक बनने और प्रोग्रामिंग का आनंद लेने और खुश रहने में मदद मिलेगी। यह रूबी भाषा का प्राथमिक उद्देश्य है।"

इसलिए मूल रूप से, मैट्स एक अत्यंत वस्तु-उन्मुख भाषा चाहते थे जो प्रोग्रामर खुशी के लिए डिज़ाइन की गई थी।


1
यह अत्यंत वस्तु उन्मुख है। मेरा मतलब है +में 1+1एक विधि है।
bpromas

5

रूबी (रेल के साथ अग्रदूत) ने सम्मेलन को विन्यास पर लोकप्रिय बना दिया ।

पुराना (पटरियों पर गैर रूबी) रास्ता था

  • "जन्मदिन" नामक फ़ील्ड के साथ एक डेटाबेस तालिका "व्यक्तियों" को परिभाषित करें
  • एक संपत्ति "जन्मदिन" के साथ एक व्यापारी वर्ग "व्यक्ति" को परिभाषित करें
  • डेटाबेस और बिजनेसक्लास के बीच स्थानांतरण डेटा के लिए एक सहायक लिखें
  • एक सूची बनाएं कि एक सूची में व्यक्ति कैसे हैं
  • एक व्यक्ति के गुणों को संपादित करने के लिए एक gui बनाएँ

विन्यास पर अधिवेशन के साथ इसके लिए आधार का काम अपने आप हो जाता है:

  • आप एक व्यक्ति को कोड में परिभाषित करते हैं
  • डेटाबेस तालिका, मैपिंग, गुई-तत्व, आपके लिए एक शक्तिशाली इंटरप्रेटर या कोडेगेंनेटर द्वारा स्वचालित रूप से बनाए जाते हैं

विरोधाभास: आप सभी cenventions सीखना है तो पहले रन पर रेल पर रूबी सीखना कठिन है।

पेशेवरों: एक बार जब आप सम्मेलनों को जान लेते हैं, तो रेल डेवलपरों पर अन्य रूबी के कोड को समझना काफी आसान होता है क्योंकि हर एक समान सम्मेलनों का पालन करने के लिए मजबूर होता है।

इस बीच कॉन्फ़िगरेशन पर कन्वेंशन ने कई कोडिंग इको-सिस्टम में प्रवेश किया है


4

सबसे पहले, रूबी एक "वर्तमान भाषा" है। शायद आपका मतलब है "वे भाषाएँ जो लोकप्रिय थीं जब 1995 में रूबी बनाई गई थी।"

मैं रूबी को उन्हीं कारणों से पसंद करता हूं, जिन्हें मैंने पर्ल पसंद किया:

  1. यह शक्तिशाली और अभिव्यंजक है। मैं जावा या C ++ की पांच लाइनों के बजाय रूबी कोड की एक पंक्ति के बारे में लिख सकता हूं। ऐसा कोई दोहराव नहीं है जिसे कम से कम उपद्रव के साथ पूरा नहीं किया जा सकता।

  2. यह गतिशील है। विधियाँ और गुण रन-टाइम पर बनाए जा सकते हैं, इसलिए मैं बाहरी रूप से परिभाषित चीजों के चारों ओर, डेटाबेस तालिकाओं की तरह, उन चीजों की परिभाषा को दोहराए बिना, और एप्लिकेशन को फिर से बनाए बिना भी लपेट सकता हूं।

  3. भाषा पर एक उत्कृष्ट पुस्तक है ( प्रोग्रामिंग रूबी ) जो पठनीय और व्यापक दोनों है।

  4. पब्लिक-डोमेन पैकेज के लिए एक एकल रिपॉजिटरी है, और रिपॉजिटरी के लिए एक सुविधाजनक कमांड-लाइन इंटरफ़ेस है।

लेकिन मुझे रूबी पर्ल से बेहतर लगती है क्योंकि यह अधिक पठनीय है।

रूबी की तुलना पायथन के साथ कई पेज हैं। मुझे वे दोनों पसंद हैं। मैं रूबी को पसंद करता हूं, लेकिन मुझे पायथन के साथ सीमित अनुभव है।


मुझे याद है कि यह पढने की आशा थी कि रूबी बन जाएगी (जो रूबी बन जाएगी) प्रोग्राम रूबी के प्राक्कथन में पर्ल को बदलने के लिए पर्याप्त हो जाएगी।
रिग

@kevin: वे भाषा की कुछ विशेषताएं हैं और मैं उनके बारे में अच्छी तरह से जानता हूं। हालाँकि, मैं "मुझे एक मज़ेदार / कमज़ोर टाइप की भाषा चाहिए" के अलावा 'रूबी' बनाने का 'कारण जानना चाहता हूँ' (या क्या यह कारण स्वयं ही काफी बड़ा है?
PhD

1
@ नुपुल: ये चीजें समिति द्वारा नहीं की जाती हैं। मात्ज़ ने एक धारणा बनाई और रूबी को लिखा। उन्होंने इसे कुछ समय बाद कुछ अन्य लोगों को दिखाया, और उनमें से कुछ ने इसे पसंद किया। इसी तरह LISP, स्मॉलटाक, C, C ++, पास्कल, पर्ल, रूबी और पायथन बनाए गए। मुझे लगता है कि यह अधिकांश प्रोग्रामिंग भाषाओं के लिए समान है। केवल कुछ ही समिति या कॉर्पोरेट पहल द्वारा बनाए गए थे।
केविन क्लाइन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.