Është lëshuar versioni i ri i përkthyesit të gjuhës programore Vala 0.51.1. Gjuha Vala është një gjuhë programimi e orientuar drejt objekteve që ofron një sintaksë të ngjashme me C# ose Java. Gobject (Glib Object System) përdoret si një model objekti. Menaxhimi i kujtesës kryhet bazuar në numërimin e referencës.
Gjuha ka mbështetje për introspeksionin, funksionet lambda, ndërfaqet, delegatët dhe mbylljet, sinjalet dhe slotet, përjashtimet, vetitë, llojet jo-null, konkluzionet e tipit për variablat lokale (var). Një bibliotekë e përgjithësuar programimi libgee është zhvilluar për gjuhën, e cila ofron mundësinë për të krijuar koleksione për llojet e personalizuar të të dhënave. Mbështet numërimi i elementeve të mbledhjes duke përdorur deklaratën foreach. Programimi i programeve grafike kryhet duke përdorur bibliotekën grafike GTK+. Kompleti vjen me një numër të madh lidhjesh për bibliotekat në gjuhën C.
Programet Vala përkthehen në paraqitjen C dhe më pas përpilohen nga një përpilues standard C. Është e mundur të ekzekutohen programet në modalitetin e skriptit. Përkthyesi Vala ofron mbështetje për gjuhën Genie, e cila ofron aftësi të ngjashme, por me një sintaksë të frymëzuar nga gjuha e programimit Python.
Gjuha Vala është zhvilluar nën kujdesin e projektit GNOME. Vala përdoret për të shkruar programe të tilla si klienti i postës elektronike Geary, guaska grafike Budgie, programi i menaxhimit të koleksionit të fotografive dhe videove Shotwell dhe të tjera. Vala përdoret në mënyrë aktive në zhvillimin e komponentëve të shpërndarjes Linux Elementary OS.
Në versionin e ri:
- Mbështetje e shtuar për ngushtimin automatik të tipit në shprehje; nëse (x është Foo){ x.SomeFooField // nuk ka nevojë për të hedhur në mënyrë eksplicite "x" në "Foo" }
- Mbështetje e shtuar për thirrjen e zinxhirëve të konstruktorëve për shabllone;
- U shtua kontrolli i versionit të libvala në kohën e ekzekutimit;
- Mbështetje e shtuar për klasat kompakte opake;
- Mbështetje e zgjeruar për parametrat e grupeve në konstruktorë;
- Përpunimi i shtuar i delegatëve anonimë që nuk mbështetet nga metoda ose sinjale virtuale te girparser;
- Rregulluar gabimet në valadoc, libvaladoc dhe girwriter;
- U shtua lidhja në SDL 2.x, mbështetja për lidhjen SDL 1.x u ndërpre;
- U shtua lidhje në Enchant 2.x;
- Rregulloi një rrjedhje memorie kur kopjoni në mënyrë eksplicite vargje, duke përdorur Glib.Value ose duke lëvizur një strukturë të alokuar në Heap në pirg;
- Lidhja me gdk-pixbuf-2.0 është përditësuar në versionin 2.42.3;
- U shtua lidhja e funksionit getopt_long() dhe disa funksioneve të tjera GNU;
- Shtuar lidhje me libunwind-generic;
- Lidhje fikse për kajro, gobject-2.0, pango, goocanvas-2.0, mallkime, alsa, bzlib, sqlite3, libgvc, posix, gstreamer-1.0, gdk-3.0, gdk-x11-3.0, gtk+-3.0mlx, f. -4;
- Lidhja me gio-2.0 është përditësuar në versionin 2.67.3;
- Lidhja me gobject-2.0 është përditësuar në versionin 2.68;
- Lidhja me gstreamer është përditësuar në versionin 1.19.0+ git master;
- Lidhja me gtk4 është përditësuar në versionin 4.1.0+2712f536;
- U shtuan lidhje në shprehjen e rregullt API për POSIX, GNU dhe BSD;
- Lidhja me webkit2gtk-4.0 është përditësuar në versionin 2.31.1;
- Gabimet dhe mangësitë e grumbulluara të përpiluesit janë rregulluar.
Burimi: opennet.ru