Il team di Ruby ha rilasciato la versione 4.0 del linguaggio, la prima major release dopo quasi cinque anni. L’aggiornamento porta due novità principali: Ruby Box e ZJIT, insieme a miglioramenti significativi al sistema di esecuzione parallela.
Le novità principali
Ruby Box è una funzionalità sperimentale che permette di isolare porzioni di codice in “scatole” separate. Definizioni di classi, moduli, variabili globali e librerie caricate in una box restano confinate al suo interno. L’idea è poter eseguire test che modificano temporaneamente il comportamento del codice senza che queste modifiche interferiscano con altri test
ZJIT è il nuovo compilatore just-in-time, pensato come successore di YJIT. Richiede Rust 1.85 o successivo per la compilazione e si attiva con il flag --zjit. Al momento è più veloce dell’interprete standard ma non ancora quanto YJIT: il team punta a migliorare la situazione con Ruby 4.1.
Ractor, il meccanismo per l’esecuzione parallela introdotto in Ruby 3.0, esce dallo stato sperimentale con una nuova API basata su Ractor::Port e miglioramenti prestazionali che riducono la contesa sulla memoria.
Altre modifiche
Set e Pathname diventano classi core invece che librerie da importare. Gli operatori logici (&&, ||) a inizio riga ora continuano la riga precedente, allineandosi al comportamento del punto per le chiamate a catena. Unicode è aggiornato alla versione 17.0.
Sul fronte prestazioni, Class#new è più veloce in tutti i casi, il garbage collector gestisce meglio gli heap di dimensioni diverse, e l’accesso alle variabili di istanza è stato ottimizzato.
Disponibilità
Ruby 4.0.0 è scaricabile dal sito ufficiale.


Mastodon
Blog
Telegram
Bluesky
Lascia un commento