Ohjelmointikielen kääntäjän Vala 0.56.0 julkaisu

Ohjelmointikielen kääntäjästä Vala 0.56.0 on julkaistu uusi versio. Vala-kieli on olio-ohjelmointikieli, joka tarjoaa samanlaisen syntaksin kuin C# tai Java. Vala-koodi käännetään C-ohjelmaksi, joka puolestaan ​​käännetään tavallisella C-kääntäjällä binääritiedostoksi ja suoritetaan kohdealustan objektikoodiksi käännetyn sovelluksen nopeudella. On mahdollista ajaa ohjelmia komentosarjatilassa. Kieltä kehitetään GNOME-projektin alaisuudessa. Kohdemallina käytetään Gobjectia (Glib Object System). Kääntäjäkoodia jaetaan LGPLv2.1-lisenssillä.

Kielessä on tuki itsetutkiskelulle, lambda-funktioille, rajapinnoille, delegaateille ja sulkemisille, signaaleille ja aikavälille, poikkeuksille, ominaisuuksille, ei-nollatyypeille, paikallisten muuttujien tyyppipäätelmille (var). Muistin hallinta perustuu viitelaskentaan. Kielelle on kehitetty yleinen ohjelmointikirjasto libgee, joka tarjoaa mahdollisuuden luoda kokoelmia mukautetuille tietotyypeille. Kokoelman elementtien luettelointia foreach-lauseella tuetaan. Grafiikkaohjelmien ohjelmointi tapahtuu GTK-grafiikkakirjaston avulla.

Pakkauksen mukana tulee suuri määrä sidoksia kirjastoihin C-kielellä. Vala-kääntäjä tukee Genie-kieltä, joka tarjoaa vastaavat ominaisuudet, mutta Python-ohjelmointikielestä inspiroimalla syntaksilla. Sellaiset ohjelmat kuten Geary-sähköpostiohjelma, Budgie-graafinen kuori, Shotwell valokuva- ja videotiedostojen organisointiohjelma ja muut ovat kirjoitettuja Valan kielellä. Kieltä käytetään aktiivisesti Elementary OS -jakelun kehittämisessä.

Tärkeimmät innovaatiot:

  • Lisätty tuki asynkroniselle main()-funktiolle;
  • Lisätty tuki sisäkkäisille funktioille;
  • Varoitusten ja virheiden näyttömuotoa kääntämisen aikana on muutettu;
  • Mahdollisuus dynaamisesti kutsua signaaleja tarjotaan;
  • Lisätty tuki osittaisille luokille - luokat, joiden sisältö sijaitsee useissa lähdetiedostoissa;
  • Sidoille on lisätty mahdollisuus määrittää taulukon pituustyyppejä. Aikaisemmin vain 32-bittinen kokonaislukutyyppi oli sallittu;
  • Lisätty tuki foreach-operaattorille Glib.Sequence- ja Glib.Array-tyypeille;
  • Lisätty uusia sidoksia libsoup, linux-media;
  • Siirron aikana gnome-desktop-kirjasto jaettiin gnome-desktop-4:ksi, gnome-rr-4:ksi ja gnome-bg-4:ksi.
  • GNOME-ohjelmointikäsikirjoja on täydennetty esimerkeillä Valassa.
  • Lisätty Markdown-kuvauskielellä julkaisutiedot.
  • Päivitetyt sidokset:
    • gtk4 versioon 4.6.0+06ec4ec1 asti;
    • gstreamer versioon 1.21.0+ asti git master;
    • gio-2.0 versioon 2.72 asti;
    • glib-2.0 ennen versiota 2.72;
    • gobject-2.0 ennen versiota 2.72;
    • webkit2gtk-*.0 ennen versiota 2.35.1.

Lähde: opennet.ru

Lisää kommentti