Pas një viti zhvillimi, publikohet lëshimi Ruby 2.6.0, një gjuhë programimi dinamike e orientuar drejt objektit, e karakterizuar nga efikasitet i lartë i zhvillimit të softuerit dhe që përfshin tiparet më të mira të Perl, Java, Python, Smalltalk, Eiffel, Ada dhe Lisp.
Kodi i projektit shpërndahet nën licencat BSD ("2-klauzola BSDL") dhe "Ruby", e cila i referohet licencës së fundit GPL dhe është plotësisht në përputhje me GPLv3.
Ruby 2.6 është versioni i gjashtë i madh, të përgatitur si pjesë e një procesi të planifikuar zhvillimi, i cili përfshin caktimin e një viti për të përgatitur përmirësime funksionale dhe për të krijuar versione korrigjuese çdo 2-3 muaj.
Karakteristikat kryesore të reja në Ruby 2.6.0
Me këtë lëshim të ri të Ruby shtoi një zbatim eksperimental të përpiluesit të JIT, e cila ju lejon të përmirësoni ndjeshëm performancën e aplikacioneve në gjuhën Ruby.
Ndryshe nga përpiluesit tradicionalë të JIT, të cilët gjenerojnë udhëzime makine në lëvizje, përpiluesi i propozuar JIT në Ruby së pari shkruan kodin C në disk, pastaj thërret përpiluesin e jashtëm C për të gjeneruar udhëzimet e makinës (GCC mbështetur, Clang dhe Microsoft VC ++).
Për të aktivizuar JIT, duhet të specifikoni opsionin "–jit" kur filloni rubin ose ta vendosni këtë mundësi në ndryshoren e mjedisit RUBYOPT.
Krahasuar me Ruby 2.5, përfshirja e JIT është mesatarisht 1.7 herë e performancës së aplikacioneve intensive të CPU.
Në të njëjtën kohë, zhvillimi është ende eksperimental dhe i papërshtatshëm për ngarkesat që lidhen me punën intensive të kujtesës.
Përmirësime të tjera që u morën në këtë version ishte RubyVM :: Modul eksperimental AbstraktSintaksaPema, e cila siguron një metodë parsing që përpunon vargjet e kaluara si kod Ruby dhe kthen një Pemë Sintakse Abstrakte (AST) për këtë kod.
Tani pseudonimi "#then" mund të përdoret për të hyrë në metodën "Kernel # japin_vetja". Për metodat "Array # |" dhe "Array # -" sugjeroi pseudonime më të lexueshme "Array # union" dhe "Array # Diferenca".
Emrat konstant tani mund të fillojnë me shkronja të mëdha përveç ASCII.
Mbështetja u dha gjithashtu për Grumbullin Kalimtar, theap i destinuar për objekte me një jetëgjatësi të shkurtër duke përdorur klasa specifike (Array, Hash, Object, Struktura).
Për shembull, falë theap, krijimi i hasheve ekzistues të vegjël, me jetë të shkurtër, tani është dy herë më i shpejtë. Testi rdoc tregoi një rritje të rendimentit prej 6-7%.
Për të rritur performancën e ndërprerësve të kontekstit, propozohen zbatime vendase të korutinave për arkitekturat arm32, arm64, ppc64le, win32, win64, x86 dhe amd64. "Fiber.yield" dhe "Fiber # rinis" në sistemet 64-bit Linux tani funksionojnë pothuajse 5 herë më shpejt.
Në përgjithësi, programet intensive tregojnë një rritje të performancës prej 5%.
Përmirësime të mëdha në Ruby 2.6.0
Një version i azhurnuar i RubyGems 3.0.1 është marrë, në të cilën mbështetja për opsionet "–ri" dhe "–rdoc" është ndërprerë, në vend të së cilës ju duhet të përdorni "–document" dhe "–no-document".
Bundler tani është instaluar si parazgjedhje për të menaxhuar varësitë e gurëve të çmuar.
Mbështetje e shtuar për diapazone të papërfunduara, për shembull, "ary [1 ..]" ose "(1 ..). Secila {…} ».
Nga përmirësimet e tjera që mund të theksohen, mund të gjeni:
- Opsioni i përjashtimit është shtuar në metodën e sistemit Kernel # për të ngritur një përjashtim në gabim në vend që të kthehet false.
- Modaliteti oneshot ka qenë shtuar në modulin e mbulimit, i cili kontrollon nëse secila rresht ekzekutohet të paktën një herë.
- Klasa Enumerator :: Zinxhir dhe metodat "Enumerable # zinxhir" dhe "Enumerator # +" të implementuara në të shtohen për të krijuar zinxhirë me vlera të numëruara.
- Mbështetja për operatorët «<<» dhe «>>» është shtuar në modulin Proc and Method, për shembull, ndërtimi «(f << g). Thirrja (3)» është identike me «f (g (3 )) ".
Si të instaloni Ruby 2.6.0 në Linux?
Për të marrë këtë version të ri të Ruby, thjesht hapni një terminal në sistemin tuaj dhe shtypni një nga komandat e mëposhtme
Debian, Ubuntu dhe derivatet
sudo apt-get install ruby-full
CentOS, Fedora dhe RHEL
sudo yum install ruby
Gentoo
sudo emerge dev-lang/ruby
Arch Linux, Manjaro, Antergos dhe derivatet
sudo pacman -S ruby
openSUSE
sudo zypper install ruby
Komandat apt-get yum etj shkojnë në depot e paracaktuara të shpërndarjeve, të cilat zakonisht janë të vjetra dhe nuk do të keni versionin 2.6 por një tjetër version të vjetër.