Megjelent a Vala 0.56.0 programnyelvi fordító új verziója. A Vala nyelv egy objektum-orientált programozási nyelv, amely a C#-hoz vagy a Java-hoz hasonló szintaxist biztosít. A Vala kódot C programmá fordítják, amelyet viszont egy szabványos C fordító bináris fájllá fordít, és a célplatform objektumkódjába fordított alkalmazás sebességével hajtja végre. Lehetőség van programok futtatására script módban. A nyelvet a GNOME projekt égisze alatt fejlesztik. A Gobject (Glib Object System) objektummodellként használatos. A fordítókód LGPLv2.1 licenc alatt kerül terjesztésre.
A nyelv támogatja az introspekciót, a lambda függvényeket, az interfészek, a delegált és a lezárásokat, a jelzéseket és a helyek, a kivételeket, a tulajdonságokat, a nem null típusokat, a helyi változók típuskövetkeztetését (var). A memóriakezelés referenciaszámláláson alapul. A nyelvhez kifejlesztettek egy általánosított programozási könyvtárat, a libgee-t, amely lehetővé teszi gyűjtemények létrehozását az egyéni adattípusokhoz. A gyűjteményelemek felsorolása a foreach utasítás használatával támogatott. A grafikus programok programozása a GTK grafikus könyvtár segítségével történik.
A készlet nagyszámú kötődést tartalmaz a C nyelvű könyvtárakhoz. A Vala fordító támogatja a Genie nyelvet, amely hasonló képességekkel rendelkezik, de a Python programozási nyelv által ihletett szintaxissal. Vala nyelven készülnek olyan programok, mint a Geary email kliens, a Budgie grafikus shell, a Shotwell fotó- és videófájl-rendező program és mások. A nyelvet aktívan használják az Elementary OS disztribúció fejlesztésében.
Főbb újítások:
- Hozzáadott támogatás az aszinkron main() függvényhez;
- Beágyazott funkciók támogatása;
- A fordítás során a figyelmeztetések és hibák megjelenítési formátuma megváltozott;
- Lehetőség van a jelek dinamikus hívására;
- Hozzáadott támogatás részleges osztályokhoz - olyan osztályokhoz, amelyek tartalma több forrásfájlban található;
- A kötésekhez hozzáadtuk a tömbhossz-típusok megadásának lehetőségét. Korábban csak a 32 bites egész típus volt engedélyezett;
- Hozzáadott támogatás a foreach operátorhoz a Glib.Sequence és Glib.Array típusokhoz;
- Új kötések hozzáadva: libsoup, linux-media;
- A portolási folyamat során a gnome-desktop könyvtár a gnome-desktop-4, a gnome-rr-4 és a gnome-bg-4 részekre lett felosztva.
- A GNOME programozási kézikönyvek példákkal bővülnek Valában.
- Kiadási megjegyzések hozzáadva a Markdown jelölőnyelvhez.
- Frissített kötések:
- gtk4 4.6.0+06ec4ec1 verzióig;
- gstreamer 1.21.0+ verzióig git master;
- gio-2.0 2.72-es verzióig;
- glib-2.0 a 2.72-es verzió előtt;
- gobject-2.0 a 2.72-es verzió előtt;
- webkit2gtk-*.0 a 2.35.1 verzió előtt.
Forrás: opennet.ru