Après un an de développement, la version Ruby 2.6.0 est publiée, un langage de programmation dynamique orienté objet, caractérisé par une grande efficacité de développement logiciel et intégrant les meilleures fonctionnalités de Perl, Java, Python, Smalltalk, Eiffel, Ada et Lisp.
Le code du projet est distribué sous les licences BSD ("BSDL à 2 clauses") et "Ruby", qui fait référence à la dernière licence GPL et est entièrement conforme à la GPLv3.
Ruby 2.6 est la sixième version majeure, préparé dans le cadre d'un processus de développement planifié, qui consiste à allouer un an pour préparer les améliorations fonctionnelles et créer des versions correctives tous les 2-3 mois.
Sommaire
Principales nouveautés de Ruby 2.6.0
Avec cette nouvelle version de Ruby ajouté une implémentation expérimentale du compilateur JIT, qui vous permet d'améliorer considérablement les performances des applications en langage Ruby.
Contrairement aux compilateurs JIT traditionnels, qui génèrent des instructions machine à la volée, le compilateur JIT proposé dans Ruby écrit d'abord le code C sur le disque, puis appelle le compilateur C externe pour générer les instructions machine (GCC pris en charge, Clang et Microsoft VC ++).
Pour activer JIT, vous devez spécifier l'option "–jit" lors du démarrage de ruby ou définir cette option dans la variable d'environnement RUBYOPT.
Par rapport à Ruby 2.5, l'inclusion de JIT représente en moyenne 1.7 fois les performances des applications gourmandes en ressources processeur.
Dans le même temps, le développement est encore expérimental et mal adapté aux charges associées à un travail intensif en mémoire.
Les autres améliorations obtenues dans cette version sont les Module expérimental RubyVM :: AbstractSyntaxTree, qui fournit une méthode d'analyse qui traite les chaînes passées en tant que code Ruby et renvoie un arbre de syntaxe abstraite (AST) pour ce code.
Maintenant, l'alias "#then" peut être utilisé pour accéder à la méthode "Kernel # yield_self". Pour les méthodes "Array # |" et "Array # -" suggéraient des alias plus lisibles "Array # union" et "Array # Difference".
Les noms de constantes peuvent désormais commencer par des lettres majuscules autres que ASCII.
Un support a également été fourni pour Transient Heap, theap destiné aux objets à courte durée de vie utilisant des classes spécifiques (Array, Hash, Object, Struct).
Par exemple, grâce à theap, la création de petits hachages existants de courte durée est désormais deux fois plus rapide. Le test rdoc a montré une augmentation du rendement de 6 à 7%.
Pour augmenter les performances des commutateurs de contexte, des implémentations natives de coroutines sont proposées pour les architectures arm32, arm64, ppc64le, win32, win64, x86 et amd64. «Fiber.yield» et «Fiber # resume» sur les systèmes Linux 64 bits fonctionnent désormais presque 5 fois plus vite.
En général, les programmes intensifs montrent une augmentation des performances de 5%.
Améliorations majeures de Ruby 2.6.0
Une version mise à jour de RubyGems 3.0.1 a été reçue, dans lequel la prise en charge des options "–ri" et "–rdoc" a été abandonnée, au lieu de quoi vous devriez utiliser "–document" et "–no-document".
Bundler est maintenant installé par défaut pour gérer les dépendances des gemmes.
Ajout de la prise en charge des plages inachevées, par exemple "ary [1 ..]" ou "(1 ..). Chaque {…} ".
Parmi les autres améliorations qui peuvent être mises en évidence, vous pouvez trouver:
- L'option d'exception a été ajoutée à la méthode système Kernel # pour déclencher une exception en cas d'erreur au lieu de renvoyer false.
- Le mode onehot a été ajouté au module de couverture, qui vérifie si chaque ligne s'exécute au moins une fois.
- La classe Enumerator :: Chain et les méthodes «Enumerable # chain» et «Enumerator # +» implémentées dans celle-ci sont ajoutées pour créer des chaînes de valeurs énumérées.
- Le support des opérateurs «<<» et «>>» a été ajouté aux modules Proc et Method, par exemple, la construction «(f << g) .call (3)» est identique à «f (g (3 )) ".
Comment installer Ruby 2.6.0 sur Linux?
Pour obtenir cette nouvelle version de Ruby, ouvrez simplement un terminal sur votre système et tapez l'une des commandes suivantes
Debian, Ubuntu et dérivés
sudo apt-get install ruby-full
CentOS, Fedora et RHEL
sudo yum install ruby
Gentoo
sudo emerge dev-lang/ruby
Arch Linux, Manjaro, Antergos et dérivés
sudo pacman -S ruby
openSUSE
sudo zypper install ruby
Un commentaire, laissez le vôtre
Les commandes apt-get yum etc vont dans les référentiels par défaut des distributions, qui sont généralement anciens et vous n'aurez pas la version 2.6 mais une autre ancienne version.