Zig-ohjelmointikieli tukee itsensä edistämistä (bootstrapping)

Zig-ohjelmointikieleen on tehty muutoksia, jotka sallivat Zig-kielellä kirjoitetun Zig stage2 -kääntäjän koota itsensä (stage3), mikä tekee tästä kielestä itseisännöivän. Tämän kääntäjän odotetaan olevan oletusarvoisesti saatavilla tulevassa 0.10.0-julkaisussa. Stage2 on edelleen epätäydellinen ajonaikaisten tarkistusten tuen puutteen, kielen semantiikan erojen jne. vuoksi.

Toteutetun muutoksen avulla voimme lisätä tuen koodin "hot swapping" -käyttöön ajon aikana (eli ilman keskeytyksiä, kuumakoodin vaihtoa), päästä eroon osittain sidonnasta LLVM:ään ja C++:aan (helpottaa siten siirtoa uusiin arkkitehtuureihin), ja vähentää radikaalisti rakennusaikaohjelmia ja nopeuttaa myös kääntäjien kehitystä.

Lähde: opennet.ru

Lisää kommentti