Frigivelse af programmeringssprogsoversætteren Vala 0.56.0

En ny version af programmeringssprogsoversætteren Vala 0.56.0 er blevet frigivet. Vala-sproget er et objektorienteret programmeringssprog, der giver en syntaks svarende til C# eller Java. Vala-kode oversættes til et C-program, som igen kompileres af en standard C-compiler til en binær fil og udføres med hastigheden af ​​en applikation, der er kompileret til objektkoden for målplatformen. Det er muligt at køre programmer i script-tilstand. Sproget udvikles i regi af GNOME-projektet. Gobject (Glib Object System) bruges som en objektmodel. Compilerkoden distribueres under LGPLv2.1-licensen.

Sproget har understøttelse af introspektion, lambda-funktioner, grænseflader, delegerede og lukninger, signaler og slots, undtagelser, egenskaber, ikke-nul typer, typeinferens for lokale variable (var). Hukommelsesstyring udføres baseret på referencetælling. Der er udviklet et generaliseret programmeringsbibliotek libgee til sproget, som giver mulighed for at oprette samlinger til brugerdefinerede datatyper. Optælling af samlingselementer ved hjælp af den forestående erklæring er understøttet. Programmering af grafikprogrammer udføres ved hjælp af GTK-grafikbiblioteket.

Sættet kommer med et stort antal bindinger til biblioteker i sproget C. Vala-oversætteren understøtter Genie-sproget, som giver lignende muligheder, men med en syntaks inspireret af programmeringssproget Python. Sådanne programmer som Geary-e-mail-klienten, Budgie grafiske shell, Shotwell foto- og videofilorganiseringsprogrammet og andre er skrevet på Vala-sproget. Sproget bruges aktivt i udviklingen af ​​den elementære OS-distribution.

Vigtigste innovationer:

  • Tilføjet understøttelse af den asynkrone main() funktion;
  • Tilføjet understøttelse af indlejrede funktioner;
  • Formatet til visning af advarsler og fejl under kompilering er blevet ændret;
  • Muligheden for dynamisk at kalde signaler er tilvejebragt;
  • Tilføjet understøttelse af partielle klasser - klasser, hvis indhold er placeret i flere kildefiler;
  • For bindinger er muligheden for at angive array-længdetyper blevet tilføjet. Tidligere var kun 32-bit heltalstypen tilladt;
  • Tilføjet understøttelse af foreach-operatoren for Glib.Sequence- og Glib.Array-typerne;
  • Tilføjet nye bindinger libsoup, linux-media;
  • Under porteringsprocessen blev gnome-desktop-biblioteket opdelt i gnome-desktop-4, gnome-rr-4 og gnome-bg-4.
  • GNOME-programmeringsmanualerne er udvidet med eksempler i Vala.
  • Tilføjet udgivelsesbemærkninger i Markdown markup sprog.
  • Opdaterede bindinger:
    • gtk4 op til version 4.6.0+06ec4ec1;
    • gstreamer op til version 1.21.0+ git master;
    • gio-2.0 op til version 2.72;
    • glib-2.0 før version 2.72;
    • gobject-2.0 før version 2.72;
    • webkit2gtk-*.0 før version 2.35.1.

Kilde: opennet.ru

Tilføj en kommentar