URL: https://linuxfr.org/news/pendant-ce-temps-dans-l-ecosysteme-ruby Title: Pendant ce temps, dans l’écosystème Ruby Authors: Thomas J. Davy Defaud, ZeroHeure, Pierre Jarillon, Nils Ratusznik et Benoît Sibaud Date: 2016年11月16日T14:45:48+01:00 License: CC By-SA Tags: ruby, elixir et ruby_on_rails Score: 48 Même si les analystes le [positionnent](http://www.tiobe.com/tiobe-index/) toujours comme un langage à la popularité limitée, il n’empêche que depuis l’arrivée du cadriciel Rails, le langage Ruby est utilisé par de nombreux services qui partagent notre quotidien : GitHub, Airbnb, Twitch, Zendesk, _LinuxFr.org_, etc. Petit tour d’actualité de ce langage qui va bientôt fêter ses 20 ans ! ---- [Ruby](https://www.ruby-lang.org/fr/) [Ruby on Rails](https://www.ruby-lang.org/fr/) [Les nouvelles toutes fraîches du projet Ruby 3x3](https://blog.heroku.com/ruby-3-by-3) [Keynote « Why Ruby? »](https://www.youtube.com/watch?v=cQEGT4Tdwy8) ---- Ruby ×ばつ3 ======== Dès sa création, le langage Ruby s’est focalisé sur la productivité et la joie procurée par la programmation. Les performances n’ont jamais été une caractéristique essentielle de ce langage. Les choses ont néanmoins évolués en février 2013 avec l’arrivée de la version 2. Cette version majeure incluait une toute nouvelle machine virtuelle bien plus performante. Aujourd’hui, le créateur du langage, Yukihiro Matsumoto (_aka_ Matz), souhaite aller encore plus loin et a fixé à la communauté l’objectif de sortir une version 3, trois fois plus rapide que la version 2.0. Pour mesurer cela, il a été décidé de se baser sur un émulateur NES écrit exclusivement en Ruby : [_optcarrot_](https://github.com/mame/optcarrot). Néanmoins, Matz reste conscient que _Ruby on Rails_ reste l’application vitrine du langage et, à ce titre, il a décidé d’ajouter quelques analyses comparatives autour de ce cadriciel. Concernant les performances en elles‐mêmes, plusieurs pistes sont actuellement à l’étude : - la compilation à la volée ([JIT](https://fr.wikipedia.org/wiki/Compilation_%C3%A0_la_vol%C3%A9e "just-in-time compilation")) qui permettrait un gain performance important. C’est une piste sérieuse, néanmoins Matz ne souhaite pas utiliser le compilateur à la volée du projet LLVM, car il est considéré comme étant trop jeune (par rapport à Ruby). Il faudra donc trouver une solution alternative ; - une [première expérimentation](https://github.com/ko1/yomikomu) a été réalisée avec un [compilateur anticipé](https://fr.wikipedia.org/wiki/Compilation_anticip%C3%A9e) et permet déjà de faire gagner jusqu’à 30 % de performance ; - plusieurs optimisations autour du ramasse‐miettes sont déjà en cours, même si cela ne représente que 10 % du temps passé dans l’interpréteur Ruby ; - une nouvelle approche de la programmation concurrente via des [_guilds_](http://rubykaigi.org/2016/presentations/ko1.html) devrait également améliorer les performances d’ensemble. Mais pas d’emportement, tout cela n’est pas prévu avant un ou deux ans. Sortie de Ruby on Rails 5 ========================= Une nouvelle version majeure du framework Ruby on Rails est sortie cet été. Cette version 5 comporte beaucoup de nouveautés dont les plus intéressantes sont : - _Action Cable_, un nouveau module pour manipuler les [WebSockets](https://fr.wikipedia.org/wiki/WebSocket) dans votre application ; - le mode API pour créer des applications qui ne communiquent qu’à travers du JSON ; - [_Turbolinks_](https://github.com/turbolinks/turbolinks#turbolinks) 5 pour accélérer la navigation sur votre site ; - et plusieurs améliorations sous le capot (comme [_celle‐ci_](https://github.com/rails/rails/pull/21057) ou [_celle‐là_](https://github.com/rails/rails/pull/20607)). Néanmoins, les migrations peuvent être relativement délicates car, comme à son habitude, la _Rails Core Team_ n’hésite pas à remettre en cause certains choix du passé (pour ne citer qu’eux : la méthode _belongs_to_ a été revue, de même que le comportement de la [fonction de rappel](https://fr.wikipedia.org/wiki/Fonction_de_rappel)). C’est peut‐être pour cela que notre site préféré est [toujours sur la branche 4](https://github.com/linuxfrorg/linuxfr.org/blob/main/Gemfile#L3) ? En tout cas, je vous invite à vous initier à ce cadriciel qui fait des merveilles en vous plongeant dans [l’ouvrage de référence](https://pragprog.com/book/rails5/agile-web-development-with-rails-5) ! Pourquoi Ruby ? =============== Toujours pas convaincu de l’utilité de ce langage ? Alors, jetez un œil à cette Keynote de l’insolent David Heinemeier‐Hansson, créateur du cadriciel _Ruby on Rails_, qui vous expliquera que [Ruby est un ami, ce n’est pas tes parents](https://youtu.be/cQEGT4Tdwy8?t=2780). Il trouve même une [relation entre la pyramide de Maslow et la programmation](https://youtu.be/cQEGT4Tdwy8?t=1078) et, bien entendu, utiliser Ruby s’apparente à un accomplissement de soi. ☺

AltStyle によって変換されたページ (->オリジナル) /