Rubyspec standardise l'évolution de Ruby

A l'instar de la communauté Java, les créateurs de machines virtuelles Ruby cherchent à créer des implémentations de référence pour garantir la portabilité des développements.
envoyer
par mail
imprimer
l'article
partager sur Viadeo
partager sur Facebook
partager sur LinkedIn
partager sur Scoopeo
partager sur Technorati
partager sur Digg
partager sur Delicious
partager sur Google
partager sur Myspace
partager sur Yahoo!

Les faits

La communauté Ruby vient de se doter d'un groupe de travail pour concevoir une spécification de référence du langage Ruby et ses principales bibliothèques. Open source, elle a pour but de guider les développeurs dans l'implémentation de machines virtuelles Ruby existantes et à venir.

L'analyse

Popularisé par le framework web Ruby on Rails (RoR ou Rails), le langage de développement Ruby possède aujourd'hui de nombreux moteurs d'exécution. Il y a, bien entendu, la machine virtuelle Yarv, codéveloppée par le créateur du langage, Yukihiro “ Matz ” Matsumoto, et Koichi Sasada. Sun et Microsoft prennent aussi en charge Ruby nativement au sein de leurs machines virtuelles avec respectivement JRuby pour Java et RubyDLR pour .Net.

Engine Yard, une start up californienne dont les développeurs sont à l'origine de la spécification Rubyspec, proposera bientôt sa propre machine virtuelle, Rubinius, optimisée pour les langages dynamiques. “ L'existence de quatre moteurs Ruby différents ne doit pas être interprétée comme une fragmentation de la communauté ”, assure Laurent Julliard, cofondateur de Nuxos, spécialiste français de Rails. Selon lui, il est important de pouvoir choisir la meilleure implémentation de Ruby pour un usage donné, tout en étant assuré de sa conformité. “ Nous assistons plutôt à une ébullition. Chacun veut le meilleur dans sa machine virtuelle ”, estime-t-il.

Industrialiser le langage et ses mises en œuvre

Tous les développeurs se souviennent des débuts de Java. Les premières implémentations de la JVM (Java Virtual Machine) ne supportaient pas toutes un même code Java et les temps d'exécution pour un traitement similaire pouvaient être très variables d'une JVM à l'autre. D'où une déception par rapport à la promesse initiale de la portabilité. Depuis, tout est rentré dans l'ordre avec la création de JCP (Java Community Process).

Avec Rubyspec, la communauté Ruby veut éviter de reproduire le faux pas initial de Java, tout en industrialisant son langage et ses mises en œuvre.

Engine Yard propose donc de créer une implémentation de référence pour garantir la portabilité du code d'une machine virtuelle Ruby à une autre.

Si ce projet s'avère crucial pour éviter la fragmentation de la communauté, il est aussi très important pour améliorer les performances de Ruby. Car il n'existe toujours pas “ de preuve flagrante d'une capacité de ce langage à monter en charge, du moins à un coût raisonnable ”, estime Jérémy Chatard, directeur technique de Breek, une agence web spécialisée dans les technologies du web 2.0.

Le succès de Rubyspec dépendra de l'accueil que lui réserveront les communautés Ruby et Rails. Le caractère ouvert de la spécification et les besoins de performances devraient faciliter l'adoption. D'ailleurs, Rubyspec est déjà utilisé pour les tests de non-régression de la dernière branche stable de Ruby. Un bon début, donc.

Déjà quatre machines virtuelles Ruby

Implémentation .Net native du langage Ruby. L'auteur de cette machine virtuelle travaille désormais pour Microsoft.
www.ironruby.net

Machine virtuelle 100 % Java. Permet d'utiliser des classes Java directement depuis Ruby.
http://jruby.codehaus.org

En cours de développement. Rubinius servira de base à Rubyspec.
http://rubini.us

Développé sous licence GPL par Sasada, Yarv (Yet Another Ruby VM) est la machine virtuelle la plus utilisée, notamment avec le serveur web Mongrel chez les utilisateurs de Rails. GPL.
www.atdot.net/yarv

L'avis de l'expert : Laurent Julliard, cofondateur de Nuxos Group

“ Rubyspec est un projet crucial, tant pour Ruby que pour Rails ”

“ Ruby manquait en effet d'un runtime à l'épreuve des balles. Il arrive enfin avec cette implémentation de référence. Toutes les équipes des différentes machines virtuelles sont enthousiastes ; elles collaborent au projet et le revendiquent haut et fort. L'adoption générale est donc en bonne voie. ”

“ Cette spécification va exacerber la concurrence entre projets ”

“ Les entreprises disposeront ainsi de plusieurs fournisseurs potentiels pour leurs projets Ruby. Grâce à l'implémentation de référence, les éditeurs seront en mesure de spécialiser leurs machines virtuelles tout en restant standard. C'est un cercle vertueux d'amélioration de la qualité et des performances puisque toutes sont en mode open source et peuvent donc échanger les meilleures pratiques. ”

publicité
à lire aussi
SUR LES MÊMES THÈMES
Créer des extensions Firefox devient plus simple
Microsoft fournit gratuitement sa méthode de développement sécurisé
Une API pour Google Analytics
OS mobile cherche développeurs
48 500 euros (ht) pour une plate-forme de réservation de taxis
Flash bien plus répandu que Silverlight selon riastats.com
Un standard Eclipse pour créer des applications mobiles
Mozilla signe un IDE hébergé
Les machines multicœurs : un casse-tête pour les développeurs
Google invite les développeurs à créer des vidéos
Mozilla expérimente un éditeur de code en ligne gratuit et open source
JavaFX arrive sur les téléphones mobiles
IBM disponible sur la plate-forme en ligne Amazon EC2
Pour les informaticiens, le cloud computing reste encore vaporeux
Regain d'intérêt pour le langage C
Adenclassifieds refond avec agilité Keljob.com
La qualité : une question de survie
Ruby on Rails et Merb fusionnent
Adobe propose LiveCycle ES sur la plate-forme d'Amazon
La boîte à outils PHP d'Eclipse passe en v2
01Informatique
01 INFORMATIQUE
L'hebdo de référence des décideurs informatiques.
Micro Hebdo
MICRO HEBDO
L'hebdo qui vous simplifie la micro
et Internet.
L'Ordinateur Individuel
L'ORDINATEUR INDIVIDUEL
Le mensuel informatique qui vous informe et vous conseille.
Tous droits réservés © 1999 - 2009 Internext - 01net.