Ruby 4.0: il linguaggio di Rails fa il salto generazionale

Ruby 4.0: il linguaggio di Rails fa il salto generazionale

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.

Fediverse reactions

Spargi la voce

Fiuta le novità (seguimi 🐾)

YOOTA
YOOTA
@yoota@yoota.it

Fiuto per le tech news

247 articoli
26 follower

Lascia un commento

Puoi lasciare solo commenti senza iscrizione che verranno preventivamente moderati e il tuo indirizzo IP sarà anonimizzato.

Biscotti! Non vengono installati cookie di tracciamento né raccolti dati personali ma questo sito è federato con ActivityPub ⁂, visitandolo quindi potresti fare connessioni esterne ai server di Mastodon o altri software. Affiliazioni: Alcuni articoli potrebbero contenere link di affiliazione. Se acquisti tramite questi link, potremmo ricevere una piccola commissione.