Publikimi i përkthyesit të gjuhës programore Vala 0.54.0

Është lëshuar versioni i ri i përkthyesit të gjuhës programore Vala 0.54.0. Gjuha Vala është një gjuhë programimi e orientuar drejt objekteve që ofron një sintaksë të ngjashme me C# ose Java. Kodi Vala përkthehet në një program C, i cili, nga ana tjetër, përpilohet nga një përpilues standard C në një skedar binar dhe ekzekutohet me shpejtësinë e një aplikacioni të kompiluar në kodin e objektit të platformës së synuar. Është e mundur të ekzekutoni programe në modalitetin e skriptit. Gjuha po zhvillohet nën kujdesin e projektit GNOME. Gobject (Glib Object System) përdoret si një model objekti. Kodi i përpiluesit shpërndahet nën licencën LGPLv2.1.

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). Menaxhimi i kujtesës kryhet në bazë të numërimit të referencës. Një bibliotekë programimi e përgjithësuar libgee është zhvilluar për gjuhën, e cila ofron mundësinë për të krijuar koleksione për lloje të personalizuara 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. 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. Programe të tilla si klienti i postës elektronike Geary, guaska grafike Budgie, programi i organizimit të skedarëve të fotografive dhe videove Shotwell dhe të tjera janë shkruar në gjuhën Vala. Gjuha përdoret në mënyrë aktive në zhvillimin e shpërndarjes Elementare OS.

Risitë kryesore:

  • Mbështetje e shtuar për delegatët me një numër të ndryshueshëm parametrash;
  • U shtua profili LIBC, i cili është sinonim i profilit POSIX;
  • Gjenerimi i përmirësuar në modalitetin e profilit POSIX;
  • U shtua aftësia për të deklaruar variabla që mund të kenë një vlerë null me konkluzion të tipit (var?);
  • U shtua aftësia për të deklaruar klasa të ndaluara për trashëgimi (të vulosura);
  • U shtua operatori i aksesit të sigurt në fushat e klasës që mund të jenë nule (a.?b.?c);
  • Inicializimi i lejuar i përmbajtjes së strukturës në null (konst Foo[] BARS = { { "bar", 42 }, null };);
  • Operacioni resize() është i ndaluar për vargje konstante;
  • U shtua dalje paralajmëruese kur përpiqeni të dërgoni një thirrje funksioni në void ((void)not_void_func();
  • U hoq kufizimi për llojet e elementeve GLib.Array;
  • Fiksoi trashëgiminë e pronësisë "var i panjohur" në deklaratën foreach();
  • Lidhja me webkit2gtk-4.0 është përditësuar në versionin 2.33.3;
  • Lidhja me gstreamer është përditësuar në versionin 1.19.0+ git master;
  • Lidhja me gtk4 është përditësuar në versionin 4.5.0~e681fdd9;
  • Lidhja për gtk+-3.0 është përditësuar në versionin 3.24.29+f9fe28ce
  • Lidhja me gio-2.0,glib-2.0 është përditësuar në versionin 2.69.0;
  • Për linux, lidhjet për SocketCAN janë shtuar;
  • Rregullime në lidhjet për glib-2.0, gio-2.0, gstreamer-rtp-1.0, javascriptcoregtk-4.0, gobject-2.0, pango, linux, gsl, rest-0.7, libusb, libusb-1.0, pixman-1, webkit2gt- zgjerimi-4.0, x11, zlib, gnutls;
  • U hoqën lidhjet gedit-2.20 dhe webkit-1.0;
  • Lidhjet e përditësuara bazuar në GIR;
  • Mundësia për të kontrolluar kodin C të gjeneruar është shtuar në sistemin e testimit;
  • Girparser, girwriter, valadoc, libvaladoc/girimporter i përmirësuar;
  • Gabimet dhe mangësitë e grumbulluara të komponentëve të ndryshëm të përpiluesit janë rregulluar.

Burimi: opennet.ru

Shto një koment