Ruby
Le 24 février 1993, deux informaticiens japonais, Yukihiro Matsumoto et Keiju Ishitsuka, discutent en ligne du nom à donner à leur nouveau projet de langage de programmation. Ils veulent une pierre précieuse. Après avoir hésité avec « Coral », ils choisissent « Ruby ». Plus court d’un caractère, donc plus simple à taper.
Yukihiro Matsumoto, que tout le monde appelle Matz, veut créer un langage de script orienté objet vraiment agréable à utiliser. Il emprunte à Perl sa souplesse, à Smalltalk sa vision orientée objet, à Eiffel sa rigueur, à Ada sa fiabilité, à Lisp son expressivité. De ce mélange naît un langage qui se distingue par son élégance.
La première version publique, la 0.95, sort le 21 décembre 1995 sur les forums japonais. Le succès au Japon est immédiat. En 1997, netlab.jp, une entreprise japonaise spécialisée dans l’open source, embauche Matz pour qu’il travaille à plein temps sur Ruby. La version 1.0 paraît en 1996, la 1.1 en août 1997. Le développement s’accélère.
Matsumoto conçoit Ruby selon le principe de moindre surprise. Les méthodes portent des noms tirés du vocabulaire anglais courant qui décrivent naturellement leur fonction. Pour les chaînes de caractères, on trouve des verbes comme strip, split, delete ou upcase. L’apprentissage est intuitif, la maintenance du code plus aisée.
Dans Ruby, tout est objet. Vraiment tout, y compris les nombres et les types primitifs. Cette approche, héritée de Smalltalk, unifie la syntaxe. Les développeurs appliquent les mêmes principes à tous les éléments qu’ils manipulent. Le langage gagne en cohérence.
Ruby autorise la modification de ses composants essentiels, les programmeurs pouvant ainsi redéfinir, enrichir les classes existantes, et ajouter des méthodes aux classes intégrées. On peut par exemple enrichir la classe des nombres d’une méthode plus pour rendre le code plus expressif. Cette flexibilité séduit.
En 2001, Ryan Leavengood commence à développer RubyGems, un outil pour simplifier la distribution des bibliothèques de code. Le projet s’arrête quand Leavengood le quitte à la version 0.4.0, mais une nouvelle équipe le reprend en 2003 et le réécrit entièrement. RubyGems se mue alors un élément central de l’écosystème.
L’année 2004 change tout. David Heinemeier Hansson crée Ruby on Rails, un framework web qui propulse Ruby sur la scène internationale. Cette plateforme séduit par son approche pragmatique et sa productivité. Apple intègre Ruby on Rails à Mac OS X v10.5 « Leopard ». Cette reconnaissance par un géant de l’industrie accélère l’adoption du langage.
La popularité de Ruby culmine en 2006, année où il reçoit le titre de « Langage de l’année ». En 2016, il atteint la huitième place de l’index TIOBE. Entre 2013 et 2020, Ruby évolue de la version 2.0.0 à la version 3.0.0. Le langage atteint sa maturité technique.
La communauté reste dynamique. En 2022, on compte 2,4 millions de développeurs Ruby dans le monde. Airbnb, Shopify, Coinbase et GitLab utilisent Ruby et contribuent à son développement. La Fondation Rails, créée récemment, travaille sur la documentation, la formation et la promotion du langage.
La version 3.0, sortie en 2020, apporte des améliorations significatives en termes de performances. Le projet « Ruby 3x3 » vise à tripler les performances de la version 3.x par rapport à Ruby 3.0. Les développeurs optimisent le compilateur MJIT, perfectionnent le ramasse-miettes et améliorent le support de la concurrence via les Ractors.
Plusieurs implémentations alternatives enrichissent l’écosystème. JRuby s’exécute sur la machine virtuelle Java, TruffleRuby offre des performances élevées grâce à GraalVM. Matz dirige le développement de mruby, une version légère conçue pour l’embarqué. Ces variations élargissent les possibilités d’utilisation du langage.