Ohjelmointikielen kääntäjän Vala 0.51.1 kokeellinen versio julkaistiin

Vala-ohjelmointikielen kääntäjästä on julkaistu uusi versio, versio 0.51.1. Vala on olio-ohjelmointikieli, jonka syntaksi on samanlainen kuin C#:lla tai Javalla. Se käyttää Gobjectia (Glib Object System) objektimallinaan. Muistin hallinta on viittauslaskentaa.

Kieli tukee introspektiota, lambda-funktioita, rajapintoja, delegointeja ja sulkeumia, signaaleja ja slotteja, poikkeuksia, ominaisuuksia, ei-nollattavia tyyppejä ja tyyppipäättelyä paikallisille muuttujille (var). Kieli sisältää libgee-yleisohjelmointikirjaston, jonka avulla voidaan luoda kokoelmia käyttäjän määrittämille tietotyypeille. Kokoelmaelementtien luettelointia tuetaan foreach-lauseen avulla. Grafiikkaohjelmointi suoritetaan GTK+-grafiikkakirjaston avulla. Mukana on suuri määrä sidoksia C-kirjastoihin.

Vala-ohjelmat käännetään C-kielelle ja käännetään sitten sisäänrakennetulla C-kääntäjällä. Ohjelmia voidaan ajaa skriptitilassa. Vala-kääntäjä tukee Genie-kieltä, joka tarjoaa samanlaisia ​​ominaisuuksia, mutta jonka syntaksi on saanut inspiraationsa Python-ohjelmointikielestä.

Язык Vala развивается под эгидой проекта GNOME. На Vala написаны такие программы, как почтовый клиент Geary, графическая оболочка Budgie, программа управления коллекцией фото и видео Shotwell и другие. Vala активно используется при разработке компонентов Linux-дистрибутива Elementary OS.

Uudessa versiossa:

  • Lisätty tuki lausekkeiden automaattiselle tyypin rajaamiselle; if (x is Foo){ x.SomeFooField // ei tarvitse erikseen muuntaa "x":ää muotoon "Foo" }
  • Lisätty tuki mallipohjien konstruktoriketjujen kutsumiselle;
  • Lisätty libvala-version tarkistus suorituksen aikana;
  • Lisätty tuki läpinäkymättömille kompakteille luokille;
  • Laajennettu tuki taulukkoparametreille konstruktoreissa;
  • Girparser käsittelee nyt anonyymejä edustajia, joita virtuaaliset metodit tai signaalit eivät tue;
  • Korjattu bugeja valadocissa, libvaladocissa ja girwriterissä;
  • Lisätty sidonta SDL 2.x:ään, lopetettu tuki SDL 1.x -sidonnalle;
  • Lisätty sidonta Enchant 2.x:ään;
  • Korjattu muistivuoto, joka ilmeni kopioitaessa taulukoita eksplisiittisesti Glib.Value-funktiolla ja siirrettäessä kekoon allokoitua rakennetta pinoon;
  • Sidonta gdk-pixbuf-2.0:aan päivitetty versioon 2.42.3;
  • Lisätty sidonta getopt_long()-funktiolle ja useille muille GNU-funktioille;
  • Lisätty sidonta libunwind-generic-kirjastoon;
  • Korjattu sidoksia seuraaville: cairo, gobject-2.0, pango, goocanvas-2.0, curses, alsa, bzlib, sqlite3, libgvc, posix, gstreamer-1.0, gdk-3.0, gdk-x11-3.0, gtk+-3.0, gtk4, fuse, libxml-2.0;
  • Sidonta gio-2.0:aan on päivitetty versioon 2.67.3;
  • Gobject-2.0:aan sitominen päivitetty versioon 2.68;
  • Gstreameriin sitoutuminen on päivitetty versioon 1.19.0+ git master;
  • Sidonta gtk4:ään on päivitetty versioon 4.1.0+2712f536;
  • Lisätty sidoksia säännöllisten lausekkeiden API:in POSIXille, GNU:lle ja BSD:lle;
  • Sitoutuminen webkit2gtk-4.0:aan on päivitetty versioon 2.31.1;
  • Kääntäjän kertyneet virheet ja puutteet on korjattu.

Lähde: opennet.ru

Osta luotettava isännöinti sivustoille, joissa on DDoS-suojaus, VPS VDS -palvelimet 🔥 Osta luotettavaa verkkosivustojen hostingia DDoS-suojauksella, VPS VDS -palvelimilla | ProHoster