Po roku vývoja vychádza vydanie Ruby 2.6.0, dynamický objektovo orientovaný programovací jazyk, ktorý sa vyznačuje vysokou efektivitou vývoja softvéru a obsahuje tie najlepšie vlastnosti ako Perl, Java, Python, Smalltalk, Eiffel, Ada a Lisp.
Kód projektu sa distribuuje na základe licencií BSD („2-klauzula BSDL“) a „Ruby“, ktoré odkazujú na najnovšiu licenciu GPL a sú v úplnom súlade s GPLv3.
Ruby 2.6 je šiesta hlavná verzia, pripravený ako súčasť plánovaného vývojového procesu, ktorý zahŕňa vyčlenenie jedného roka na prípravu funkčných vylepšení a na vytvorenie opravných verzií každé 2 - 3 mesiace.
Hlavné nové funkcie v Ruby 2.6.0
S týmto novým vydaním Ruby pridaná experimentálna implementácia kompilátora JIT, ktorý umožňuje výrazne zlepšiť výkon aplikácií v jazyku Ruby.
Na rozdiel od tradičných kompilátorov JIT, ktoré generujú strojové inštrukcie za behu, navrhovaný kompilátor JIT v Ruby najskôr zapíše kód C na disk a potom zavolá externý kompilátor C na vygenerovanie strojových pokynov (podporované GCC, Clang a Microsoft VC ++).
Ak chcete povoliť JIT, musíte pri spustení rubínu určiť voľbu „–jit“ alebo ju nastaviť v premennej prostredia RUBYOPT.
V porovnaní s Ruby 2.5 je zaradenie JIT v priemere 1.7-násobok výkonu aplikácií náročných na procesor.
Vývoj je zároveň stále experimentálny a nevhodný pre záťaže spojené s prácou náročnou na pamäť.
Ďalšie vylepšenia, ktoré boli získané v tejto verzii, boli RubyVM :: AbstractSyntaxTree experimentálny modul, ktorá poskytuje metódu syntaktickej analýzy, ktorá spracováva odovzdané reťazce ako kód Ruby a vráti pre tento kód abstraktný syntaxový strom (AST).
Alias „#then“ je teraz možné použiť na prístup k metóde „Kernel # yield_self“. Pre metódy „Array # |“ a „Array # -“ navrhli čitateľnejšie aliasy „Array # union“ a „Array # Difference“.
Konštantné názvy môžu teraz začínať inými veľkými písmenami ako ASCII.
Podpora bola poskytnutá aj pre Transient Heap, haldu určenú pre objekty s krátkou životnosťou pomocou špecifických tried (Array, Hash, Object, Struct).
Napríklad vďaka theapu je vytváranie malých, krátkodobých existujúcich hashov teraz dvakrát rýchlejšie. Test rdoc ukázal zvýšenie výťažku o 6-7%.
Na zvýšenie výkonu kontextových prepínačov sa navrhujú natívne implementácie korutín pre architektúry arm32, arm64, ppc64le, win32, win64, x86 a amd64. „Fiber.yield“ a „Fiber # resume“ na 64-bitových systémoch Linux teraz fungujú takmer 5-krát rýchlejšie.
Intenzívne programy všeobecne vykazujú zvýšenie výkonu o 5%.
Hlavné vylepšenia v Ruby 2.6.0
Prišla aktualizovaná verzia RubyGems 3.0.1, v ktorom bola ukončená podpora možností „–ri“ a „–rdoc“, namiesto ktorých by ste mali používať „–document“ a „–no-document“.
Bundler je teraz predvolene nainštalovaný na správu závislostí drahokamov.
Pridaná podpora pre nedokončené rozsahy, napríklad „ary [1 ..]“ alebo „(1 ..). Každý {…} ».
Z ďalších vylepšení, ktoré je možné zvýrazniť, nájdete:
- Do systémovej metódy Kernel # bola pridaná možnosť výnimky, aby sa namiesto vrátenia hodnoty false vyskytla chyba.
- Režim OneShot bol pridaný do modulu pokrytia, ktorý kontroluje, či sa každý riadok vykonáva aspoň raz.
- Na vytvorenie reťazcov vymenovaných hodnôt sa pridáva trieda Enumerator :: Chain a v nej implementované metódy "Enumerable # chain" a "Enumerator # +".
- Do modulov Proc a Method bola pridaná podpora operátorov «<<» a «>>», napríklad konštrukcia «(f << g). Call (3)» je identická s «f (g (3 )) “.
Ako nainštalovať Ruby 2.6.0 na Linux?
Ak chcete získať túto novú verziu aplikácie Ruby, otvorte terminál v systéme a zadajte jeden z nasledujúcich príkazov
Debian, Ubuntu a deriváty
sudo apt-get install ruby-full
CentOS, Fedora a RHEL
sudo yum install ruby
gentoo
sudo emerge dev-lang/ruby
Arch Linux, Manjaro, Antergos a deriváty
sudo pacman -S ruby
openSUSE
sudo zypper install ruby
Príkazy apt-get yum etc idú do predvolených úložísk distribúcií, ktoré sú všeobecne staré a nebudete mať verziu 2.6, ale inú starú verziu.