Nel linguaggio di programmazione Zig sono state adottate modifiche che consentono al compilatore Zig stage2, scritto in Zig, di compilarsi autonomamente (stage3), rendendo questo linguaggio autosufficiente (self-hosting). Si prevede che questo compilatore verrà proposto come predefinito nella prossima versione 0.10.0. Lo stage2 è ancora incompleto, in quanto manca il supporto per il controllo runtime, ci sono differenze nella semantica del linguaggio, ecc.
La modifica realizzata permetterà di aggiungere supporto per la «sostituzione a caldo» del codice durante l'esecuzione (ossia senza interruzioni), riducendo parzialmente la dipendenza da LLVM e C++ (facilitando così il processo di porting su nuove architetture) e riducendo drasticamente i tempi di compilazione dei programmi, accelerando anche lo sviluppo del compilatore.
Fonte: opennet.ru
