Publikimi i një versioni eksperimental të përkthyesit të gjuhës programuese Vala 0.51.1

Ë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

Shto një koment