5 points par GN⁺ 2025-12-03 | 3 commentaires | Partager sur WhatsApp
  • L’imprinting du premier langage crée une affection unique pour Ruby, et beaucoup de développeurs acceptent ainsi ses défauts comme des traits de caractère.
  • En découvrant Ruby plus tard, les défauts sous la surface brillante apparaissent tels quels : les failles du typage dynamique, les risques de footgun et les performances lentes, avec une impression très forte d’avoir une génération de retard.
  • Le cas du Fail Whale de Twitter et la migration vers Scala, ainsi que la vague de départ de Ruby tout au long des années 2010, prouvent cette limite de performance.
  • Rails a marqué une époque, mais la philosophie intégrée est désormais un mur de scalabilité et ne cadre plus naturellement avec la croissance explosive du web.
  • Aujourd’hui, ce qui soutient Ruby, ce sont surtout le legacy Rails, la loyauté émotionnelle des premiers développeurs imprégnés, et la nostalgie d’un nom jugé beau.

La force de l’imprinting des langages de programmation

  • Le concept d’imprinting en psychologie fonctionne de manière similaire à la programmation. Comme un caneton qui considère le premier être aperçu comme sa mère, le premier langage appris domine longtemps la perception d’un développeur.
  • Ruby est l’un des principaux bénéficiaires de cet imprinting. Relié au moment où « la programmation paraît enfin naturelle », il laisse une forte affection pour le langage lui-même.
  • Quand on apprend le langage tôt, l’affection domine et rend les défauts moins visibles ; quand on le découvre plus tard, l’effet de voile disparaît et ne reste que l’essentiel.

Naissance et caractéristiques de Ruby

  • Ruby a été créé en 1995 par Yukihiro Matsumoto (Matz), un développeur originaire d’Osaka, au Japon. Ruby est le seul langage de programmation majeur né en dehors des régions occidentales.
  • Il existe une devise communautaire, MINASWAN (Matz Is Nice And So We Are Nice), issue du tempérament bienveillant de Matz.
  • Doté d’une syntaxe concise, sans point-virgule ni parenthèses, il se lit comme un anglais plus fluide que Python.
  • Ruby est souvent cité comme le langage qui offre aux débutants le moment où la programmation devient « compréhensible ».

Ce que Ruby dévoile quand on l’apprend tardivement

  • En arrivant à Ruby après avoir appris plusieurs langages, c’est d’abord une certaine imprécision dépassée apparaissant avant l’élégance attendue qui se manifeste.
  • Derrière une syntaxe conçue pour paraître belle, persistent l’ambiguïté du typage dynamique et des comportements imprévisibles.
    • Ruby est un langage à typage dynamique ; il est flexible sur des projets de petite taille, mais sur des structures à grande échelle les erreurs n’apparaissent qu’à l’exécution.
  • Python ou JavaScript ont depuis des années renforcé leurs outils de typage et leur écosystème d’analyse statique (par exemple TypeScript, mypy).
    • Ruby manque d’outils équivalents et reste vulnérable à des mécanismes qualifiés de "footgun" (le genre de fonctionnalité qui vous fait tirer dans votre propre pied).
  • Ce qui semble doux à petite échelle, c’est aussi le risque de voir les erreurs n’apparaître qu’au moment de l’exécution quand le système grandit.

Les limites de performance constantes de Ruby

  • Dans les comparaisons de performance des principaux langages, Ruby se maintient presque toujours dans les dernières positions.
  • L’époque du Fail Whale de Twitter (la baleine affichée en cas d’erreur) était un symbole de la limite de son infrastructure basée sur Ruby ; lors du mondial de 2010, une panne massive l’a rendu encore plus évident.
  • Twitter est ensuite passé à Scala, puis lors de la finale de la Coupe du monde 2014 il a traité 32 millions de tweets sans incident, avec un nouveau backend jusqu’à 100 fois plus rapide que le précédent.
  • Tout au long des années 2010, de nombreuses entreprises sont sorties des infrastructures Ruby, et ce qui reste est pour l’essentiel maintenu comme legacy.

La place que Ruby a perdue

  • À une époque, les concurrents de Ruby — Python, JavaScript et Perl — ont chacun conquis un périmètre plus clair. Python a pris les marchés de l’IA, de la science et de l’éducation ; JavaScript a conquis le web dans son ensemble. Perl est en déclin, mais Ruby n’a pas trouvé de place à prendre à sa place.
  • À mesure que Ruby perd ses zones de force propres, il reste aujourd’hui dans une zone intermédiaire floue.

Rails, le dernier rempart

  • La raison principale pour laquelle Ruby reste encore vivant en production est Rails.
  • Rails a mené l’ère Web 2.0 après sa publication par DHH en 2004, fournissant alors tous les aspects du développement web dans une vision intégrée unique.
    • Le développeur danois David Heinemeier Hansson (DHH) est connu, à l’inverse de Matz, comme une figure polémique et charismatique.
  • Au début du Web 2.0, Rails a séduit les startups en proposant dans un package tout-en-un base de données, frontend et backend.
    • Des sociétés comme Airbnb, GitHub, Twitter, Shopify et Stripe ont démarré avec Rails.
  • Mais avec la croissance explosive du web, la structure intégrée de Rails est devenue un obstacle à la scalabilité. Comme la Maison Farnsworth de Frank Lloyd Wright, elle est au départ belle, puis est devenue une architecture presque impossible à réaménager.

Le recul de Ruby et ce qui lui reste

  • Selon l’enquête développeurs de Stack Overflow, Ruby est passé du Top 10 en 2013 à la 18e place en 2025, repoussée derrière l’Assembly.
  • Les nouveaux développeurs se tournent vers Python et JavaScript, et Ruby ne reste qu’un langage pour quelques développeurs imprégnés de souvenirs passés.
  • Aujourd’hui, ce qui soutient Ruby, c’est le legacy Rails, la loyauté émotionnelle des développeurs marqués au fer rouge, et l’image affective d’une syntaxe belle et facile à lire.
  • Mais l’émotion seule ne peut pas relever la position d’un langage, et la réalité est déjà passée à des outils plus rapides, plus sûrs et plus évolutifs.

3 commentaires

 
roxie 2025-12-03

Le fondement est tellement faible que ce texte en devient déconcertant...

 
GN⁺ 2025-12-03
Avis sur Hacker News
  • Le lien alternatif est archive.is/O7rEl

  • Les arguments avancés dans l’article — « je n’aime pas ça », « je déteste le typage dynamique », « Twitter plantait autrefois », « c’est lent », « ça n’est que dans le top 20 du sondage Stack Overflow » — paraissent assez faibles

    • Il me semble évident que l’article lui-même est du clickbait. Rien que le titre le montre, sans parler de l’histoire d’« imprinting » dans les premiers paragraphes
      Mon premier langage était le BASIC, le deuxième l’assembleur pour Z80A et 6502, le troisième le Pascal. Mais aucun langage n’a figé mes goûts pour toujours
      En revanche, l’expérience vraiment formatrice a été quand un professeur à l’université a dit : « quiconque a appris le BASIC est un programmeur foutu pour la vie ». C’est là que j’ai appris que même des personnes en position d’autorité peuvent abîmer les autres avec leurs préjugés
      Au final, ce texte ressemble à une tentative de l’auteur d’étaler à quel point il est intelligent. On peut le lire comme on lirait un texte de Steve Yegge, mais Yegge, lui, avait au moins davantage de choses à dire
    • Il n’y a absolument aucune base pour affirmer que Ruby « n’est pas un langage sérieux ». L’auteur dit simplement qu’il n’aime pas le nom Ruby
      Si son argument tenait vraiment, il n’aurait pas eu besoin d’écrire un texte aussi agressif. Le fait que Ruby ait produit beaucoup de résultats concrets et que le langage continue d’évoluer suffit à réfuter cette idée
    • Cela me rappelle la citation attribuée à Bjarne Stroustrup : « Il n’existe que deux sortes de langages : ceux dont les gens se plaignent, et ceux que personne n’utilise »
    • En plus, on a l’impression qu’une antipathie pour la personnalité de quelqu’un entre aussi en compte dans l’évaluation du langage
  • Je ne suis pas totalement en désaccord avec l’article non plus, mais avec de tels critères on pourrait écrire exactement la même critique de la plupart des « langages professionnels » comme Python, JS ou C++
    « L’informatique est une culture populaire » reste une formule toujours valable, et le fait qu’un média comme Wired publie ce genre de texte en est la preuve

  • Je l’ai lu jusqu’au bout, mais je n’y ai trouvé aucune raison concrète de ne pas utiliser Ruby.
    Le tout donnait l’impression d’un ratage journalistique fabriqué en quelques heures avec ChatGPT. L’auteur est probablement tombé au départ sur une codebase Ruby particulièrement catastrophique

  • J’ai l’impression qu’il fut un temps où Wired était un magazine qui valait la peine d’être lu, mais je ne me souviens même plus quand

    • Vers 1995, sans doute la dernière fois
  • Je pense que la réécriture en Scala n’a pas été une bonne décision du point de vue business. Quinze ans plus tard, la popularité de Scala est bien plus faible que celle de Ruby. Je ne sais même pas ce qu’ils utilisent maintenant

  • Ça ressemble simplement à un article clickbait derrière paywall

  • Ça m’a rappelé que je devrais résilier mon abonnement Wired, que j’avais oublié

    • Exactement. Si c’est juste un article bâclé généré par l’IA, on peut voir ça à tout moment sur ChatGPT