Doli një version i ri i përkthyesit të gjuhës së programimit Vala 0.51.1. Gjuha Vala është një gjuhë programimi objekt-orientuar, që ofron një sintaksë të ngjashme me gjuhët C# ose Java. Modeli i objekteve përdor Gobject (Sistemi i Objëve Glib). Menaxhimi i memories bëhet nëpërmjet numërimit të referencave.
Gjuha ka mbĂ«shtetje pĂ«r introspeksion, funksione lambda, ndĂ«rfaqe, delegat dhe mbyllje, sinjale dhe vende, pĂ«rjashtime, pronĂ«, tipa jo-null dhe inferrimin e tipeve pĂ«r variablat vendas (var). ĂshtĂ« zhvilluar njĂ« bibliotekĂ« programimi tĂ« pĂ«rgjithshĂ«m libgee pĂ«r gjuhĂ«n, qĂ« ofron mundĂ«sinĂ« e krijimit tĂ« koleksioneve pĂ«r tipat e tĂ« dhĂ«nave tĂ« pĂ«rdoruesit. MbĂ«shtetet enumerimi i elementeve tĂ« koleksioneve duke pĂ«rdorur operatorin foreach. Programimi i aplikacioneve grafike realizohet me bibliotekĂ«n grafike GTK+. Vjen me njĂ« sĂ«rĂ« tĂ« madhe lidhjesh me bibliotekat nĂ« gjuhĂ«n C.
Programet në gjuhën Vala përkthen në një përfaqësim në gjuhën C dhe më pas kompilohet me kompjilatorin standard për gjuhën C. Ka mundësi për të ekzekutuar programet në mënyrë skenarike. Translatori Vala mbështet gjuhën Genie, e cila ofron mundësi të ngjashme, por me një sintaksë të frymëzuar nga gjuhëprogramimi Python.
Gjuha Vala po zhvillohet nën egidën e projektit GNOME. Në Vala janë shkruar programe si klienti i postës Geary, ndërfaqja grafike Budgie, programi për menaxhimin e koleksioneve të fotografive dhe videove Shotwell dhe të tjera. Vala përdoret aktivisht në zhvillimin e komponenteve të shpërndarjes Linux Elementary OS.
Në këtë version të ri:
- Shtuar mbĂ«shtetje pĂ«r automatikisht pĂ«rshkallĂ«zimin e tipeve (type narrowing) nĂ« shprehje; if (x is Foo){ x.SomeFooField // nuk ka nevojĂ« pĂ«r konvertim tĂ« qartĂ« tĂ« âxâ nĂ« âFooâ }
- Shtuar mbështetje për thirrjen e zinxhirëve të konstruktorëve për shabllonët;
- Shtuar kontrolli i versionit libvala në procesin ekzekutiv;
- Shtuar mbështetje për klasat e kompresuara 'opake' (opaque);
- Shtuar mbështetje për parametrat e masivizuar në konstruktorë;
- Në girparser është shtuar mbështetje për delegatët anonimë që nuk mbështeten nga metodat virtuale ose sinjalet;
- Janë rregulluar mangësi në valadoc, libvaladoc dhe girwriter;
- ĂshtĂ« shtuar lidhja me SDL 2.x, ndĂ«rsa mbĂ«shtetja pĂ«r lidhjen e SDL 1.x Ă«shtĂ« ndĂ«rprerĂ«;
- ĂshtĂ« shtuar lidhja me Enchant 2.x;
- ĂshtĂ« eliminuar njĂ« rrjedhje kujtese gjatĂ« kopjimit tĂ« qartĂ« tĂ« arrays, pĂ«rdorimit tĂ« Glib.Value, dhe transferimit tĂ« njĂ« strukture tĂ« alokuar nĂ« 'Heap' nĂ« stack;
- Lidhja me gdk-pixbuf-2.0 është azhurnuar në versionin 2.42.3;
- ĂshtĂ« shtuar lidhja me funksionin getopt_long() dhe disa funksione tĂ« tjera GNU;
- ĂshtĂ« shtuar lidhja me libunwind-generic;
- Janë rregulluar lidhjet me 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;
- Lidhja me gio-2.0 është azhurnuar në versionin 2.67.3;
- Lidhja me gobject-2.0 është azhurnuar në versionin 2.68;
- Lidhja me gstreamer është azhurnuar në versionin 1.19.0+ git master;
- Lidhja me gtk4 është azhurnuar në versionin 4.1.0+2712f536;
- Janë shtuar lidhjet me API-të e shprehjeve të rregullta për POSIX, GNU dhe BSD;
- Lidhja me webkit2gtk-4.0 është azhurnuar në versionin 2.31.1;
- Janë rregulluar gabimet dhe mangësitë e akumuluara të kompilatorit.
Burimi: opennet.ru
