4 points par GN⁺ 2024-12-26 | 2 commentaires | Partager sur WhatsApp
  • Comme les années précédentes, Ruby 3.4.0 a été publié le 25/12.

  • Les principales nouveautés comprennent l’ajout de la référence au paramètre de bloc it, le passage à Prism comme parseur par défaut, l’ajout du support de Happy Eyeballs Version 2 dans la bibliothèque socket, l’amélioration de YJIT et l’ajout d’un GC modulaire.

  • Référence au paramètre de bloc it

    • Le it est introduit pour référencer les paramètres de bloc sans nom de variable. Il fonctionne de manière similaire à _1 et est pratique dans les blocs simples.
  • Changement du parseur par défaut vers Prism

    • Le parseur par défaut est désormais Prism au lieu de parse.y. Les utilisateurs ne devraient pas constater de changements significatifs, mais signalez tout problème de compatibilité.
  • Happy Eyeballs Version 2 dans la bibliothèque socket

    • Le support de Happy Eyeballs Version 2 (RFC 8305) a été ajouté à la bibliothèque socket. Cela permet d’obtenir des connexions réseau efficaces et fiables adaptées à l’Internet moderne.
  • Amélioration de YJIT

    • Des gains de performance ont été observés dans la plupart des benchmarks, une réduction de la consommation mémoire, de nombreuses corrections de bugs et de nouvelles fonctionnalités ont été ajoutées.
  • GC modulaire

    • Ajout d’un GC modulaire (garbage collector) permettant de charger dynamiquement des implémentations de GC alternatives. Une toolchain Rust est nécessaire.
  • Changements du langage

    • Un avertissement est émis lorsqu’un littéral de chaîne est modifié dans un fichier sans le commentaire frozen_string_literal. La prise en charge du keyword splatting **nil et d’autres changements linguistiques sont également inclus.
  • Mises à jour des classes de base

    • Plusieurs mises à jour de classes de base sont incluses, notamment Exception#set_backtrace qui accepte désormais un tableau de Thread::Backtrace::Location.
  • Mises à jour de la bibliothèque standard

    • Plusieurs bibliothèques standard comme RubyGems, Bundler, JSON et Tempfile ont reçu des améliorations de performance et de nouvelles fonctionnalités.
  • Problèmes de compatibilité

    • Des changements liés à la compatibilité ont été inclus, comme la modification de l’affichage des messages d’erreur et des backtraces, ainsi qu’un changement dans le rendu de Hash#inspect.
  • Mise à jour de l’API C

    • Mise à jour de l’API C, notamment la suppression des fonctions rb_newobj et rb_newobj_of.
  • Autres changements

    • Divers autres changements sont inclus, par exemple un avertissement quand un bloc inutilisé est transmis à une méthode.

2 commentaires

 
GN⁺ 2024-12-26
Commentaires sur Hacker News
  • Je suis très enthousiaste à l’idée du changement de parser de Ruby. Jusqu’à présent, on m’avait appris à utiliser yacc, mais Ruby rejoint la liste des langages qui emploient un parser écrit à la main.
    • Remplacer parse.y (16k lignes) par prism.c (22k lignes) est un geste audacieux.
  • La version 3.4.1 de Ruby est déjà obsolète.
  • Les performances de Ruby se sont nettement améliorées ces dernières années. Depuis la version 3.3, j’exécute toutes mes apps avec --yjit, et on voit une grosse différence.
  • La stratégie de Shopify est la même que celle de YJIT. S’ils ne peuvent pas refactoriser le service, ils préfèrent refactoriser Ruby.
  • Les gains de performance au niveau du JIT et du GC sont des bonus bienvenus.
  • J’attends une sortie de Ruby chaque année, comme une tradition de Noël.
  • Je mets à jour les apps Rails en fin d’année, et récemment, les améliorations de stabilité et de performance ont rendu la mise à jour plus simple.
  • Je félicite et remercie l’équipe Ruby.
  • Après la sortie de Rails 8, j’avais envie de tester Ruby, mais je me suis arrêté à cause de la difficulté d’installation.
    • Installer Ruby 3.3 sur Mac et Windows s’est avéré un vrai défi.
    • Il a aussi fallu jongler avec les versions dans Docker, et il y avait aussi des soucis avec devContainers.
    • Une fois installé, la colorisation syntaxique des fichiers html.erb de Rails était totalement cassée dans VSCode et dans d’autres éditeurs.
    • J’ai essayé de trouver une solution en ligne, sans succès, et j’ai fini par abandonner.
    • J’ai essayé sur Mac, Windows et Linux et ai échoué à chaque fois. Si quelqu’un peut résoudre ce problème, ce serait le cadeau de Noël parfait.
 
eajrezz 2024-12-26

Après l'annonce de Rails 8, je voulais tester Ruby, mais j'ai abandonné en raison de la difficulté du processus d'installation.

Il existe un script qui facilite l'installation de Rails sur macOS. => https://rails.new/