रूबी 2.6.0 प्रोग्रामिंग भाषा का छठा अपडेट आ गया है

रूबी लिनक्स

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

प्रोजेक्ट कोड बीएसडी लाइसेंस के तहत वितरित किया जाता है ("2-क्लॉज बीएसडीएल") और "रूबी", जो नवीनतम जीपीएल लाइसेंस को संदर्भित करता है और जीपीएलवी3 के साथ पूरी तरह से संगत है।

रूबी 2.6 छठा प्रमुख संस्करण है, एक नियोजित विकास प्रक्रिया के हिस्से के रूप में तैयार किया गया है, जिसमें कार्यात्मक सुधार तैयार करने के लिए एक वर्ष आवंटित करना और हर 2-3 महीने में सुधारात्मक रिलीज़ तैयार करना शामिल है।

रूबी 2.6.0 में प्रमुख नई सुविधाएँ

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

पारंपरिक जेआईटी कंपाइलर्स के विपरीत, जो तुरंत मशीन निर्देश उत्पन्न करते हैं, रूबी में प्रस्तावित जेआईटी कंपाइलर पहले डिस्क पर सी कोड लिखता है, फिर मशीन निर्देश उत्पन्न करने के लिए बाहरी सी कंपाइलर को कॉल करता है (जीसीसी समर्थित हैं)। , क्लैंग, और माइक्रोसॉफ्ट वीसी++ ).

JIT को सक्षम करने के लिए, रूबी शुरू करते समय "-जिट" विकल्प निर्दिष्ट किया जाना चाहिए या इस विकल्प को RUBYOPT पर्यावरण चर में सेट करना होगा।

रूबी 2.5 की तुलना में, जेआईटी का समावेश सीपीयू-गहन अनुप्रयोगों के प्रदर्शन का औसत 1.7 गुना है।

साथ ही, विकास अभी भी प्रयोगात्मक है और स्मृति-गहन कार्य से जुड़े भार के लिए खराब रूप से अनुकूल है।

इस संस्करण में जो अन्य सुधार प्राप्त हुए वे थे प्रायोगिक मॉड्यूल RubyVM::AbstractSyntaxTree, जो एक पार्सिंग विधि प्रदान करता है जो पारित स्ट्रिंग्स को रूबी कोड के रूप में संसाधित करता है और इस कोड के लिए एक अमूर्त सिंटैक्स ट्री (एएसटी, एब्सट्रैक्ट सिंटैक्स ट्री) लौटाता है।

"#then" उपनाम का उपयोग अब "कर्नेल # यील्ड_सेल्फ" विधि तक पहुंचने के लिए किया जा सकता है। विधियों के लिए "सरणी # |" और "ऐरे # -" ने अधिक पठनीय उपनाम "ऐरे # यूनियन" और "ऐरे # अंतर" का सुझाव दिया।

स्थिर नाम अब गैर-ASCII बड़े अक्षरों से शुरू हो सकते हैं।

ट्रांसिएंट हीप के लिए समर्थन भी प्रदान किया गया था, थेप का उद्देश्य विशिष्ट वर्गों (ऐरे, हैश, ऑब्जेक्ट, स्ट्रक्चर) का उपयोग करके छोटे जीवनकाल वाली वस्तुओं के लिए था।

रूबी ऑन रेल्स

उदाहरण के लिए, थेप के लिए धन्यवाद, छोटे, अल्पकालिक मौजूदा हैश बनाना अब दोगुना तेज़ है। Rdoc परीक्षण में प्रदर्शन में 6-7% की वृद्धि देखी गई।

संदर्भ स्विच के प्रदर्शन को बढ़ाने के लिए, कोरटाइन के मूल कार्यान्वयन प्रस्तावित हैं। आर्म32, आर्म64, पीपीसी64एलई, विन32, विन64, x86 और एएमडी64 आर्किटेक्चर के लिए। 64-बिट लिनक्स सिस्टम पर "फाइबर.यील्ड" और "फाइबर # रिज्यूमे" अब लगभग 5 गुना तेजी से चलते हैं।

सामान्य तौर पर, गहन कार्यक्रम 5% की प्रदर्शन वृद्धि दिखाते हैं।

रूबी 2.6.0 में महत्वपूर्ण सुधार

रूबीजेम्स 3.0.1 का अद्यतन संस्करण प्राप्त हुआ, जिसमें "-ri" और "-rdoc" विकल्पों के लिए समर्थन बंद कर दिया गया है, इसके बजाय आपको "-document" और "-no-document" का उपयोग करना चाहिए।

रत्न निर्भरता को प्रबंधित करने के लिए बंडलर अब डिफ़ॉल्ट रूप से स्थापित है।

अनटर्मिनेटेड श्रेणियों के लिए समर्थन जोड़ा गया, उदाहरण के लिए "एरी [1 ..]" या "(1 ..)। प्रत्येक{…}"।

जिन अन्य सुधारों पर प्रकाश डाला जा सकता है उनमें से आप पा सकते हैं:

  • गलत रिटर्न देने के बजाय त्रुटि पर अपवाद बढ़ाने के लिए कर्नेल # सिस्टम विधि में अपवाद विकल्प जोड़ा गया है।
  • वनशॉट मोड रहा है कवरेज मॉड्यूल में जोड़ा गया, जो जांचता है कि प्रत्येक पंक्ति को कम से कम एक बार निष्पादित किया जा रहा है या नहीं।
  • एन्यूमरेटर::चेन क्लास और इसमें लागू "एन्यूमरेटर # चेन" और "एन्यूमरेटर # +" तरीकों को एन्यूमरेटेड मानों की स्ट्रिंग बनाने के लिए जोड़ा जाता है।
  • ऑपरेटरों के लिए समर्थन "<<" और ">>" को प्रोक और मेथड मॉड्यूल में जोड़ा गया है, उदाहरण के लिए, निर्माण "(f << g).call (3)" "f (g (3)" के समान है ))"।

लिनक्स पर रूबी 2.6.0 कैसे स्थापित करें?

रूबी का यह नया संस्करण प्राप्त करने के लिए, बस अपने सिस्टम पर एक टर्मिनल खोलें और निम्न में से एक कमांड टाइप करें

डेबियन, उबंटू और डेरिवेटिव

sudo apt-get install ruby-full

CentOS, फेडोरा, और RHEL

sudo yum install ruby

Gentoo

sudo emerge dev-lang/ruby

आर्क लिनक्स, मंज़रो, एंटरगोज़ और डेरिवेटिव

sudo pacman -S ruby

openSUSE

sudo zypper install ruby

अपनी टिप्पणी दर्ज करें

आपका ईमेल पता प्रकाशित नहीं किया जाएगा। आवश्यक फ़ील्ड के साथ चिह्नित कर रहे हैं *

*

*

  1. डेटा के लिए जिम्मेदार: एबी इंटरनेट नेटवर्क 2008 SL
  2. डेटा का उद्देश्य: नियंत्रण स्पैम, टिप्पणी प्रबंधन।
  3. वैधता: आपकी सहमति
  4. डेटा का संचार: डेटा को कानूनी बाध्यता को छोड़कर तीसरे पक्ष को संचार नहीं किया जाएगा।
  5. डेटा संग्रहण: ऑकेंटस नेटवर्क्स (EU) द्वारा होस्ट किया गया डेटाबेस
  6. अधिकार: किसी भी समय आप अपनी जानकारी को सीमित, पुनर्प्राप्त और हटा सकते हैं।

  1.   डैनियल कहा

    एपीटी-गेट यम आदि कमांड वितरण के डिफ़ॉल्ट रिपॉजिटरी में जाते हैं, जो आमतौर पर पुराने होते हैं और आपके पास संस्करण 2.6 नहीं बल्कि कुछ अन्य पुराने संस्करण होंगे।