Paris on Rails : Ruby 1.9

Ruby 1.9, par Guillaume Desrat, Ruby France

Lundi 1er décembre 2008 avait lieu la 3ème conférence de Paris on Rails. Celle-ci s’est étalée sur la journée entière avec des sujets divers et variés, toujours autour de Ruby on Rails. Retours sur cet évènement avec un premier billet dédié à Ruby 1.9.

Ruby 1.9 est la nouvelle version du langage Ruby, c’est la version intermédiaire avant la future 2.0.
Guillaume Desrat nous a présenté toutes les nouveautés et incompatibilités de cette version.

Les principales incompatibilités présentées sont :

  • l’indexation dans les chaînes de caractères ;
  • les variables de blocs ;
  • les définitions de tableau de Hash ou de Array ;
  • la syntaxe d’un « case » ;
  • et bien d’autres encore…

Certes, le mot incompatibilité évoque une notion négative au sens propre du terme, mais en soi, ces modifications facilitent énormément le travail d’un développeur.

L’incompatibilité apparaît dans le cas où les développeurs ont mis en place des méthodes spécifiques à l’utilisation des éléments cités ci-dessus. Dès lors, la migration de Ruby 1.8 vers Ruby 1.9 demandera un développement supplémentaire, donc une complexité à faire évoluer certaines applications vers la nouvelle version.

Outre les incompatibilités, beaucoup de nouveautés sont également intégrées dans Ruby 1.9 :

  • des tableaux de Hash plus faciles à écrire, avec conservation de l’ordre de déclaration des objets ;
  • des paramètres de méthodes qui peuvent désormais être facultatifs sans pour autant être en fin de liste (on peut les mettre où l’on veut) ;
  • des énumérations beaucoup plus simples à utiliser ;
  • la multilingualization (m17n) ;
  • la manipulation des Threads, désormais contrôlables à 100 % ;
  • les expressions régulières intègrent un nommage de « match » avec un tag.

Ruby 1.9 est également plus performant que Ruby 1.8. A titre de comparaison, la suite de Fibonnacci est exécutée en 52 secondes avec Ruby 1.8, tandis qu’avec Ruby 1.9 elle est exécutée en 12 secondes, soit presque 5 fois plus rapide.

Globalement Ruby 1.9 est une belle évolution du langage Ruby avec surtout une volonté de rendre le développement encore plus intuitif (notamment au niveau des Hash et des Array) et d’améliorer les performances. Néanmoins, les incompatibilités qu’elle porte peuvent être un frein à son adoption rapide.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.