28 janvier 2011

JRuby: l'alliance de Ruby avec Java

A Toulouse, beaucoup d'entreprises ont standardisé leurs investissements informatiques autour de Java. De ce fait, tous leurs développements se font dans ce langage.

Mais ces choix sont-ils vraiment nécessaires? Je vous propose de faire un tour du côté de Ruby, un langage de programmation extraordinairement expressif, qui sait aussi travailler avec Java.

Ruby: flexibilité et productivité

Beaucoup d'outils innovants sortis ces dernières années ont été écrits en Ruby:
  • Rails: framework pour le développement d'applications Web,
  • Cucumber: pour l'écriture et l'exécution de tests d'acceptance,
  • RSpec: tests de comportement
  • et beaucoup d'autres...

Au-delà des outils, de nombreuses applications Web ont été développées avec Ruby (et Rails, pour la plupart):

De même, dans le monde anglophone, de très nombreuses start-ups choisissent Ruby, afin de se développer rapidement.

Le rythme soutenu de toutes ces innovations n'est pas dû au hasard: Ruby est un langage dynamique et flexible, qui s'adapte rapidement à de nouvelles contraintes. Ou comme le dit très justement Jamis Buck, Ruby est de la pâte à modeler.

Java: maturité et standardisation

Par contraste, pour Jamis, Java est un jeu de Lego: des blocs fixes, faciles à assembler et à réutiliser. Une image qui, là encore, colle assez bien à la réalité.

Java est un langage très répandu, très "industrialisé". Les différentes offres de Java Virtual Machines, par exemple, sont robustes et matures. De nombreux outils de gestion permettent d'administrer et d'exploiter efficacement des applications tournant dans une JVM.

De manière similaire, Java a bénéficié du développement de très nombreuses librairies: open-source, commerciales et même en interne pour les grandes entreprises comme Airbus. Ces librairies sont souvent robustes et adaptées aux processus industriels en place.

Malheureusement, jusqu'ici, bénéficier de la robustesse et de la maturité de Java revenait à se passer de la flexibilité et de la puissance d'expression des langages dynamiquement typés tels que Ruby.

Java + Ruby = JRuby

L'objectif de JRuby est justement de réconcilier ces deux mondes. JRuby est une implémentation du langage Ruby, écrite 100% en Java.

Avec JRuby, vous programmez en Ruby et vous pouvez utiliser n'importe quelle librairie Java: les objets Java sont créés et manipulés directement en Ruby!

De surcroît, JRuby est très rapide: voyez, par exemple, les résultats du Ruby Great Shootout 2010.

Conclusion

JRuby combine le meilleur de deux mondes apparemment opposés: la solidité et la maturité de Java, avec la flexibilité et la puissance d'expression de Ruby.

Si votre entreprise utilise Java et cherche à développer rapidement des applications Web, JRuby est une option à ne pas négliger.

N'hésitez pas à me contacter si vous avez des questions.

Je vais revenir à JRuby dans un prochain blog: au plaisir de vous revoir...

Aucun commentaire:

Enregistrer un commentaire