Frigivelse af programmeringssprogsoversætteren Vala 0.56.0

En ny version af Vala-programmeringssprogsoversætteren 0.56.0 er blevet udgivet. Vala-sproget er et objektorienteret programmeringssprog, der leverer en syntaks svarende til C# eller Java. Vala-koden oversættes til et C-program, som igen kompileres af en standard C-compiler til en binær fil og udføres med samme hastighed som et program, der er kompileret til objektkoden på målplatformen. Det er muligt at køre programmer i scripttilstand. Sproget er udviklet under GNOME-projektets auspicier. Gobject (Glib Object System) bruges som en objektmodel. Compilerkoden distribueres under LGPLv2.1-licensen.

Sproget understøtter introspektion, lambda-funktioner, grænseflader, delegerede og closures, signaler og slots, undtagelser, egenskaber, typer, der ikke er nul, og typeinferens for lokale variabler (var). Hukommelsesstyring er baseret på referencetælling. Sproget har et bibliotek med generisk programmering, libgee, som giver mulighed for at oprette samlinger for brugerdefinerede datatyper. Optælling af samlingselementer understøttes ved hjælp af foreach-operatoren. Programmering af grafiske programmer udføres ved hjælp af GTK's grafiske bibliotek.

Kittet leveres med et stort antal bindinger til biblioteker i C-sproget. Vala-oversætteren understøtter Genie-sproget, som tilbyder lignende funktioner, men med syntaks inspireret af programmeringssproget Python. Programmer som Geary-mailklienten, den grafiske skal Budgie, Shotwell-programmet til organisering af foto- og videofiler og andre er skrevet i Vala. Sproget bruges aktivt i udviklingen af ​​Elementary OS-distributionen.

Vigtigste innovationer:

  • Tilføjet understøttelse af asynkron main()-funktion;
  • Tilføjet understøttelse af indbyggede funktioner;
  • Formatet for output af advarsler og fejl under kompilering er blevet ændret;
  • Muligheden for dynamisk at kalde signaler er tilvejebragt;
  • Tilføjet understøttelse af delvise klasser - klasser hvis indhold er placeret i flere kildefiler;
  • Muligheden for at angive arraylængdetyper er blevet tilføjet for bindinger. Tidligere var kun en 32-bit heltalstype tilladt;
  • Tilføjet understøttelse af foreach-operatoren for Glib.Sequence- og Glib.Array-typerne;
  • Tilføjede nye bindinger libsoup, linux-media;
  • Under porteringsprocessen blev gnome-desktop-biblioteket opdelt i gnome-desktop-4, gnome-rr-4 og gnome-bg-4.
  • GNOME-programmeringsvejledninger er blevet udvidet til at inkludere Vala-eksempler.
  • Tilføjede udgivelsesnoter i Markdown.
  • Opdaterede bindinger:
    • gtk4 op til version 4.6.0+06ec4ec1;
    • gstreamer op til version 1.21.0+ git master;
    • gio-2.0 til version 2.72;
    • glib-2.0 til version 2.72;
    • gobject-2.0 før version 2.72;
    • webkit2gtk-*.0 op til version 2.35.1.

Kilde: opennet.ru

Køb pålidelig hosting til websteder med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster