5 पॉइंट द्वारा GN⁺ 2025-12-03 | 3 टिप्पणियां | WhatsApp पर शेयर करें
  • किसी की पहली भाषा का इम्प्रिंटिंग प्रभाव Ruby के प्रति एक अनूठा लगाव बना देता है, और कई डेवलपर्स उसकी खामियों को भी किसी ‘अलग पहचान’ की तरह स्वीकार कर लेते हैं।
  • Ruby से देर से परिचित होने पर उसकी चमकदार बाहरी परत के नीचे मौजूद डायनमिक टाइपिंग की कमजोरी, footgun और धीमा प्रदर्शन सीधे नज़र आता है, और ऐसा लगता है कि यह अभी भी एक पीढ़ी पीछे अटका हुआ है।
  • Twitter का Fail Whale, Scala migration, और 2010 के दशक में पूरे समय में दिखी Ruby से बाहर निकलने की प्रवृत्ति, इस भाषा की performance सीमाओं को साफ़ तौर पर साबित करती है।
  • Rails ने एक दौर में खूब चमक बिखेरी, लेकिन अब इसका एकीकृत दर्शन स्केलेबिलिटी की दीवार बन गया है और वेब की विस्फोटक वृद्धि के बीच यह सहज रूप से फिट नहीं बैठता।
  • आज Ruby को सहारा देती है मुख्यतः Rails legacy, पहले से imprint हुए डेवलपर्स की भावनात्मक निष्ठा और उसके सुंदर नाम की नॉस्टैल्जिया।

प्रोग्रामिंग भाषा और ‘इम्प्रिंट’ की शक्ति

  • मनोविज्ञान में कहे जाने वाले इम्प्रिंटिंग (imprinting) का काम प्रोग्रामिंग में भी लगभग वैसा ही होता है।
  • जैसे नवजात हंस का बच्चा पहली दिखाई देने वाली चीज़ को माता-पिता मान लेता है, वैसे ही पहली सीखी गई भाषा लंबे समय तक डेवलपर की संवेदना पर हावी रहती है।
  • Ruby इसी तरह के इम्प्रिंटिंग का प्रमुख लाभार्थी है।
  • यह अक्सर “वह क्षण जब प्रोग्रामिंग पहली बार स्वाभाविक लगी” से जुड़कर भाषा के प्रति गहरा लगाव छोड़ जाती है।
  • शुरुआत में सीखते समय स्नेह पहले दिखता है, इसलिए खामियाँ धुंधली पड़ जाती हैं; लेकिन देर से सीखने पर बिना धुंध के असल रूप साफ़ दिखता है।

Ruby की उत्पत्ति और विशेषताएँ

  • Ruby की शुरुआत 1995 में जापान के ओसाका के डेवलपर युकिहिरो माज़ुमोतो (Matz) ने की। Ruby शायद गैर-पश्चिमी क्षेत्र में जन्मी प्रमुख भाषाओं में एकमात्र है।
  • Matz की सहज प्रकृति से निकला हुआ समुदाय का नारा MINASWAN (Matz Is Nice And So We Are Nice) मौजूद है।
  • सेमीकोलन या ब्रैकेट/पैरेंथीसिस के बिना Ruby का सरल व्याकरण है, जो Python से भी अधिक सीधी अंग्रेज़ी की तरह पढ़ा जाता है।
  • इसे अक्सर नए लोगों को “साफ़ समझ आने वाली” programming देने वाली भाषा के रूप में बताया जाता है।

Ruby का वास्तविक चेहरा, जब देर से सीखा जाए

  • अगर कई भाषाओं के बाद आप Ruby में आते हैं, तो अपेक्षित ‘elegance’ से पहले पुराने ज़माने की ढीलीपन महसूस होती है।
  • सुंदर दिखने के लिए डिज़ाइन की गई syntax के नीचे डायनमिक टाइपिंग की अस्पष्टता और अप्रत्याशित व्यवहार यथावत मौजूद रहता है।
    • Ruby एक dynamic typed भाषा है, जो छोटे प्रोजेक्ट में लचीली है, पर बड़े स्केल की संरचना में रनटाइम पर errors सामने आने की समस्या उत्पन्न करती है।
  • Python या JavaScript ने कई सालों में type tools और static analysis ecosystem को मजबूत बनाकर विकास किया है (जैसे TypeScript, mypy आदि)।
    • Ruby में इसके बराबर के tools की कमी के कारण यह ‘footgun’ (खुद को नुकसान पहुँचा देने वाला फीचर) कहलाने वाले जोखिमपूर्ण तत्वों के प्रति अधिक संवेदनशील है।
  • छोटे स्केल पर यह मुलायम लगता है, लेकिन सिस्टम बड़ा होते ही रनटाइम पर ही errors दिखने के खतरे को साथ लेकर चलता है।

Ruby की लगातार प्रदर्शन सीमा

  • प्रमुख भाषा प्रदर्शन तुलना में Ruby लगभग हमेशा सबसे निचले स्तर पर रहता है।
  • Twitter का Fail Whale (एरर होने पर दिखाई देने वाला व्हेल) दौर Ruby आधारित infrastructure की सीमा का प्रतीक था, और 2010 विश्व कप के दौरान बड़े पैमाने पर outage होने से यह सीमा साफ़ हो गई।
  • Twitter ने Scala पर शिफ्ट किया, और बाद में 2014 विश्व कप फाइनल में 32 मिलियन tweets बिना समस्या संभाल लिए; नया backend पहले से अधिकतम 100x तेज़ चला।
  • 2010 के दशक भर कई कंपनियाँ Ruby infrastructure से बाहर निकल गईं, और जो हिस्सा बचा, वह अधिकांशतः legacy ही रहा।

Ruby ने जो जगह खो दी

  • एक समय Ruby से प्रतिस्पर्धा करने वाले Python, JavaScript और Perl ने क्रमशः अधिक स्पष्ट जगह बना ली।
    Python ने AI, विज्ञान और शिक्षा बाज़ार ले लिया।
    JavaScript ने पूरी वेब दुनिया पर कब्जा कर लिया।
    Perl गिरावट में है, लेकिन Ruby को बदलने के लिए कोई खाली जगह नहीं बनी।
  • Ruby का कोई स्पष्ट विशिष्ट क्षेत्र खत्म होने के बाद, वह आज एक अस्पष्ट मध्य क्षेत्र में अटका दिखता है।

Rails नाम का अंतिम सहारा

  • Ruby के वास्तविक कामकाजी जीवन में अभी के बड़े कारणों में से एक Rails है।
  • Rails 2004 में DHH द्वारा सार्वजनिक किए जाने के बाद Web 2.0 दौर का नेतृत्व कर रहा था और उस समय web development के सभी हिस्से एक एकीकृत विज़न में उपलब्ध थे।
    • डेनमार्क के डेवलपर David Heinemeier Hansson (DHH) का स्वभाव Matz के उलट विवादास्पद और करिश्माई माना जाता है।
  • Web 2.0 के शुरुआती दिनों में Rails ने database, frontend और backend को ऑल-इन-वन पैकेज के रूप में देकर स्टार्टअप्स में लोकप्रियता हासिल की।
    • Airbnb, GitHub, Twitter, Shopify और Stripe जैसी कंपनियाँ Rails पर शुरू हुईं।
  • लेकिन जैसे-जैसे web का आकार विस्फोटक ढंग से बढ़ा, Rails का एकीकृत ढांचा विस्तार का अवरोध बन गया।
    फ्रैंक लॉयड राइट की Usonian house की तरह, जो शुरुआत में खूबसूरत था, बाद में लगभग बदलना असंभव हो गया।

Ruby की गिरावट और बची हुई ताकत

  • Stack Overflow Developer Survey में Ruby 2013 के Top 10 से गिरकर 2025 में 18वें स्थान पर आ गया और Assembly से भी नीचे चला गया।
  • नए डेवलपर्स Python और JavaScript की ओर जा रहे हैं, जबकि Ruby अब उन डेवलपर्स तक सीमित हो रहा है जिनकी स्मृतियों में यह भाषा मौजूद है।
  • अभी Ruby को सहारा देने वाली चीजें हैं केवल Rails legacy, लंबे समय से जुड़े डेवलपर्स की भावनात्मक निष्ठा, और ‘सुंदर और पढ़ने में आसान syntax’ का भावनात्मक इमेज
  • लेकिन केवल भावनाओं से किसी भाषा की स्थिति को फिर से ऊपर नहीं लाया जा सकता; हकीकत अब पहले ही Ruby से तेज़, अधिक सुरक्षित और अधिक स्केलेबल टूल्स की तरफ चली गई है।

3 टिप्पणियां

 
roxie 2025-12-03

तर्क इतने कमज़ोर हैं कि यह लेख काफ़ी चौंकाने वाला लगता है...

 
GN⁺ 2025-12-03
Hacker News राय
  • वैकल्पिक लिंक archive.is/O7rEl है

  • लेख में दिए गए तर्क बस इतने हैं कि “पसंद नहीं आया”, “dynamic typing है इसलिए पसंद नहीं”, “Twitter पहले क्रैश हुआ था”, “धीमा है”, “Stack Overflow सर्वे में बस टॉप 20 में आता है”, इसलिए यह काफ़ी कमजोर लगता है

    • मुझे साफ़ लगता है कि लेख खुद clickbait है। सिर्फ़ शीर्षक से ही नहीं, शुरुआती कुछ पैराग्राफ़ में “imprinting” की बात भी इसका सबूत है
      मेरी पहली भाषा BASIC थी, दूसरी Z80A और 6502 के लिए assembly, और तीसरी Pascal। लेकिन किसी भी भाषा ने मेरी पसंद हमेशा के लिए तय नहीं की
      बल्कि कॉलेज के दिनों में एक प्रोफेसर ने कहा था, “जो लोग BASIC सीखते हैं वे जीवन भर टूटे हुए programmer रहते हैं।” वही सच में एक formative experience था। तभी मैंने सीखा कि अधिकार रखने वाले लोग भी अपने पूर्वाग्रह से दूसरों को नुकसान पहुँचा सकते हैं
      आख़िरकार यह लेख लेखक की अपनी चतुराई दिखाने की कोशिश जैसा लगता है। Steve Yegge की लिखाई की तरह इसे मज़ेदार पढ़ा जा सकता है, लेकिन Yegge कम-से-कम इससे ज़्यादा बात तो करता था
    • Ruby “गंभीर भाषा नहीं है” इसके पक्ष में कोई आधार ही नहीं दिया गया। लेखक सिर्फ़ यह कहता है कि उसे Ruby का नाम पसंद नहीं
      अगर उसकी बात सही होती तो उसे ऐसा आक्रामक लेख लिखने की ज़रूरत ही नहीं पड़ती। Ruby से वास्तव में बहुत कुछ बनाया गया है, और भाषा भी लगातार विकसित हो रही है—यही इसका जवाब है
    • Bjarne Stroustrup की वह बात याद आती है: “दो ही तरह की भाषाएँ होती हैं—जिनकी लोग शिकायत करते हैं, और जिन्हें कोई इस्तेमाल नहीं करता”
    • ऊपर से, ऐसा भी लगता है कि किसी की शख्सियत के प्रति नापसंदगी भी भाषा के मूल्यांकन में घुस आई है
  • मैं भी लेख की हर बात से पूरी तरह असहमत नहीं हूँ, लेकिन अगर यही कसौटी है तो Python, JS, C++ जैसी ज़्यादातर “professional languages” पर भी वही आलोचना लिखी जा सकती है
    “computing is pop culture” वाली बात अब भी सही लगती है, और Wired जैसे माध्यम में ऐसा लेख छपना इसका सबूत है

  • मैंने अंत तक पढ़ा, लेकिन Ruby का इस्तेमाल न करने की कोई ठोस वजह नहीं मिली।
    यह किसी ऐसी पत्रकारीय विफलता जैसा लगा जिसे शायद कुछ घंटों में ChatGPT से बनवा दिया गया हो। शायद लेखक जिस पहले Ruby codebase से टकराया, वह असाधारण रूप से बुरा था

  • लगता है कभी ऐसा समय था जब Wired पढ़ने लायक पत्रिका हुआ करती थी, लेकिन अब तो वह याद भी नहीं

    • शायद 1995 के आसपास आख़िरी बार
  • मुझे लगता है Scala में rewrite करना बिज़नेस के लिहाज़ से अच्छा फ़ैसला नहीं था। 15 साल बाद आज Scala की लोकप्रियता Ruby से काफ़ी कम है। अब वे क्या इस्तेमाल करते हैं, यह भी नहीं पता

  • यह बस paywall के लिए clickbait लेख लगता है

  • इसकी वजह से याद आ गया कि मुझे अपनी भूली हुई Wired सदस्यता cancel करनी चाहिए

    • सही कहा। अगर AI से बना घटिया लेख पढ़ना हो, तो वह ChatGPT में कभी भी मिल जाएगा