4 पॉइंट द्वारा GN⁺ 2024-12-26 | 2 टिप्पणियां | WhatsApp पर शेयर करें
  • पिछले वर्षों की तरह, 12/25 को Ruby 3.4.0 जारी हुआ

  • मुख्य अपडेट में it ब्लॉक पैरामीटर संदर्भ जोड़ने, डिफ़ॉल्ट पार्सर को Prism बनाने, सॉकेट लाइब्रेरी में Happy Eyeballs Version 2 सपोर्ट जोड़ने, YJIT सुधार और मॉड्यूलर GC जोड़ने जैसे बदलाव शामिल हैं।

  • it ब्लॉक पैरामीटर संदर्भ

    • बिना किसी वेरिएबल नाम के ब्लॉक पैरामीटर को संदर्भित करने के लिए it पेश किया गया है। यह _1 की तरह काम करता है और छोटे ब्लॉकों में इसे इस्तेमाल करना सुविधाजनक बनाता है।
  • Prism को डिफ़ॉल्ट पार्सर बनाया गया

    • डिफ़ॉल्ट पार्सर को parse.y से बदलकर Prism बना दिया गया है। उपयोगकर्ता को कोई बड़ा बदलाव महसूस नहीं होगा; अगर कोई संगतता समस्या दिखे तो उसे रिपोर्ट करने के लिए कहा गया है।
  • सॉकेट लाइब्रेरी में Happy Eyeballs Version 2

    • सॉकेट लाइब्रेरी में Happy Eyeballs Version 2 (RFC 8305) का सपोर्ट जोड़ा गया। यह आधुनिक इंटरनेट परिवेश के लिए अधिक कुशल और भरोसेमंद नेटवर्क कनेक्शन प्रदान करता है।
  • YJIT सुधार

    • अधिकांश benchmarks में प्रदर्शन सुधार, memory उपयोग में कमी, कई bugs फिक्स और नई फीचर्स जोड़ी गईं।
  • मॉड्यूलर GC

    • वैकल्पिक गार्बेज कलेक्टर (GC) implementation को रनटाइम पर डायनेमिकली लोड करने के लिए मॉड्यूलर GC फीचर जोड़ा गया। इसमें Rust toolchain की जरूरत है।
  • भाषा बदलाव

    • frozen_string_literal टिप्पणियों के बिना फाइलों में स्ट्रिंग लिटरल बदलने पर warning दिया जाएगा। **nil कीवर्ड स्प्लैटिंग सपोर्ट सहित अन्य कई बदलाव शामिल हैं।
  • कोर क्लास अपडेट

    • Exception#set_backtrace अब Thread::Backtrace::Location array को स्वीकार करता है, और कई अन्य कोर क्लास अपडेट शामिल हैं।
  • स्टैंडर्ड लाइब्रेरी अपडेट

    • RubyGems, Bundler, JSON, Tempfile आदि कई स्टैंडर्ड लाइब्रेरियों में performance सुधार और नई फीचर्स जोड़ी गई हैं।
  • संगतता समस्याएँ

    • error message और backtrace दिखाने के तरीके में बदलाव, Hash#inspect render बदलने जैसी संगतता संबंधित बदलाव शामिल हैं।
  • C API अपडेट

    • rb_newobj और rb_newobj_of functions हटाने सहित C API अपडेट शामिल हैं।
  • अन्य बदलाव

    • इस्तेमाल न किए गए ब्लॉक को मेथड में पास करने पर warning आने जैसे विभिन्न बदलाव शामिल हैं।

2 टिप्पणियां

 
GN⁺ 2024-12-26
Hacker News टिप्पणी
  • Ruby parser बदलाव को लेकर काफी उत्साह है। पहले तो हमें yacc इस्तेमाल करने के लिए बताया गया था, लेकिन अब Ruby भी उस सूची में शामिल हो गया है जहाँ hand-crafted parser उपयोग किए जाते हैं।

    • 16k लाइन के parse.y को 22k लाइन के prism.c से बदलना सच में एक साहसी कदम है।
  • Ruby 3.4.1 पहले ही आउटडेटेड हो चुका है।

  • पिछले कुछ सालों में Ruby का performance खास तौर पर बेहतर हुआ है। Ruby 3.3 के बाद से सभी apps में मैंने --yjit flag के साथ रन करना शुरू किया है, और इसका फर्क साफ दिखता है।

  • Shopify की strategy YJIT वाली कहानी जैसी ही है: अगर service को refactor करना संभव नहीं है, तो Ruby को refactor करने का इरादा है।

  • JIT और GC स्तर पर performance सुधार एक बहुत बढ़िया अतिरिक्त बोनस है।

  • हर साल क्रिसमस की परंपरा की तरह Ruby रिलीज़ का इंतज़ार रहता है।

  • हर साल आखिर में Rails ऐप्स को अपडेट करने की जरूरत पड़ती है; हाल के रिलीज़ में यह ज्यादा stable और performant हो गया है, इसलिए अपडेट आसान महसूस होता है।

  • Ruby टीम को बधाई और धन्यवाद।

  • Rails 8 की खबर के बाद Ruby ट्राई करना चाहता था, लेकिन setup/installation बहुत मुश्किल होने के कारण छोड़ दिया।

    • Mac और Windows पर Ruby 3.3 install करना बड़ा challenge था।
    • Docker में भी version बदलना पड़ा, और devContainers में भी समस्या थी।
    • install के बाद VSCode और अन्य editors में Rails की html.erb files की syntax highlighting पूरी तरह टूट गई थी।
    • online समाधान खोजने की कोशिश की, लेकिन असफल रहा और आखिर में छोड़ दिया।
    • मैंने Mac, Windows और Linux तीनों पर कोशिश की, पर कहीं सफल नहीं हुआ; अगर कोई इसे ठीक कर दे तो मेरे लिए वही एक Christmas gift होगा।
 
eajrezz 2024-12-26

Rails 8 की खबर के बाद मैं Ruby आज़माना चाहता था, लेकिन इंस्टॉलेशन प्रोसेस बहुत कठिन होने की वजह से मैंने छोड़ दिया।

macOS पर Rails इंस्टॉल करने में मदद करने वाला एक स्क्रिप्ट उपलब्ध है।
=>
https://rails.new/