Zig è un linguaggio di programmazione compilato, a basso livello, pensato come alternativa moderna al C: niente garbage collector, gestione esplicita della memoria, zero dipendenze nascoste. Il progetto è ancora in fase pre-1.0 e ogni release può portare modifiche sostanziali, anche non retrocompatibili.
La versione 0.16.0 è frutto di otto mesi di lavoro, con contributi da 244 sviluppatori distribuiti in oltre 1.100 commit.
// affiliato ▸ Webdock · VPS ultra-veloci scontate del 20% · Vedi i piani →
I/O come interfaccia
La novità più rilevante riguarda la libreria standard: l’I/O, cioè tutto ciò che riguarda la lettura e scrittura di dati, è stato rifatto attorno a un sistema basato su interfacce. Questo approccio rende il codice più componibile e facilita l’integrazione con operazioni asincrone e ambienti di esecuzione diversi. Alcune strutture esistenti, come GenericReader e AnyReader, sono state rimosse in favore del nuovo modello.
Cambia anche ArenaAllocator, l’allocatore a zona usato spesso per gestire grandi blocchi di memoria con una sola deallocazione: diventa thread-safe e senza blocchi.
Linguaggio e compilatore
Ci sono diverse modifiche al costrutto switch, nuove restrizioni sui tipi packed e vettori, e aggiornamenti al modo in cui il compilatore gestisce la risoluzione dei tipi. Avanza anche la compilazione incrementale, che punta a ridurre i tempi di build nelle sessioni di sviluppo.
Il toolchain si aggiorna a LLVM 21, con la nota che la vettorizzazione automatica dei loop è stata disabilitata temporaneamente per una regressione individuata nell’ultima versione.
Il sistema di build ottiene la possibilità di sovrascrivere pacchetti localmente e di scaricarli in una directory specifica del progetto, due funzionalità utili per chi lavora su dipendenze custom.


Mastodon
Telegram
Bluesky
Lascia un commento