Ruby 1.9.3 patch-zéro vient de sortir, signant un nouveau pas dans l'évolution tranquille du langage.
Plus d'un an après la 1.9.2 venue stabiliser la branche 1.9, la nouvelle itération (d'apparence relativement mineure) optimise les performances et se rapproche davantage des spécifications du langage.
Les principales nouveautés sont détaillées ci-devant, mais en voici un récapitulatif : chargement et manipulation plus rapide des fichiers, io/console, exécution parallèle des test::unit et changement de licence GPL par la BSD.
Notons aussi le support des expressions régulières en Unicode 6.0, un nouveau moteur YAML et une mise à jour collective des sous composants de la bibliothèque standard (Rubygems, JSON, Minitest, Rake, ...).
Cela étant fait, les contributeurs au projet ont fixé une feuille de route de la version 2.0 qui devrait aboutir à son lancement final en février 2013. Tout juste 20 ans après que l'idée du langage avait germé sur une discussion IRC entre Matsumoto et Keiju Ishitsuka.
Faut-il s'attendre à une révolution majeure qui changera considérablement la face du langage ? Non, affirme Matz, « le numéro de version passera à 2.0, mais les changements sont plutôt petits. Plus petits que ceux que nous avons accomplis sur la 1.9 ».
À l'image du petit saut technologique qui a accompagné le passage du noyau Linux au tag 3.0, Ruby 2.0 restera entièrement compatible avec Ruby 1.9.2, mais pourrait introduire quelques nouveautés syntaxiques.
Parmi les nouveautés qui pourront y faire leur apparition : arguments de méthodes en mots-clés, import/export de bytecode (permettant d'enregistrer et réutiliser des scripts précompilés), Refinements (pour rendre le monkey-patching plus sûr en limitant sa portée au contexte du module), sortir les librairies de la bibliothèque standard en tant que Gems, et bien d'autres...
À noter qu'une version 1.9.4 est prévue avant ce saut symbolique de version.
Changelog
Cette version est disponible en téléchargement sur cette page
Source : l'annonce sur le mailing-list, Ruby Inside
Et vous ?
Avez-vous essayé Ruby 1.9.3 ?
Que pensez-vous de l'évolution du langage ?
Quelles fonctionnalités souhaitez-vous voir apparaître sur Ruby 2.0 ?
Quoi de neuf sur Ruby 1.9.3 ?
Changement de licence, tests parallèles et démarrage plus rapide des applications Rails
Yuki Sonoda de la core team du langage Ruby vient d'annoncer la disponibilité de la première preview de Ruby 1.9.3, une version majeure marquée par un changement de licence et de nombreuses nouveautés et améliorations.
Contrairement aux versions préalables distribuées sous double licence GPLv2/Ruby Licence, cette mouture tronquera la GPL par la BSDL, essentiellement pour rendre sa distribution compatible avec les licences GPLv3 et BSD.
Cette première preview intègre un « patch miracle » qui permet d'améliorer le temps de démarrage des applications Ruby on Rails jusqu'à un facteur*3.
Initié par le développeur australien Xavier Shay, puis repris et perfectionné par le front japonais des mainteneurs de ruby, ce patch améliore drastiquement le mécanisme de chargement des fichiers Ruby en optimisant le test qui permet de s'assurer qu'un fichier n'a pas été préalablement chargé ailleurs dans le code.
Le framework Ruby on Rails, très modulaire, lance des centaines de « require » au démarrage et sera par conséquent le premier à bénéficier de cette amélioration.
L'API OpenSSL de la bibliothèque standard, reprise en main par une nouvelle équipe de contributeurs, a été améliorée, au même titre que les modules pathname et date, réimplémentées en langage C par souci évident de performances.
IO/Console, une toute nouvelle cooccupante de la bibliothèque standard, donne de nouvelles capacités à Ruby en entrée/sortie en mode console.
Test::unit, le framework de testé par défaut du langage Ruby supporte désormais l'exécution parallèle des testes. De meilleures performances et un développement piloté par les tests plus agréables en perspective.
Pour installer cette version de Ruby via RVM :
Code : | Sélectionner tout |
1 2 3 4 5 | rvm get head rvm reload rvm install 1.9.3-preview1 rvm use 1.9.3 |
Ruby 1.9.3-preview1 peut être téléchargé sur via ce lien
Source : mailing-list du langage
Et vous ?
Avez-vous testé cette version ?
Que pensez-vous de ses nouveautés ?