Ir-rilaxx tat-traduttur tal-lingwa ta 'programmar Vala 0.54.0

Verżjoni ġdida tat-traduttur tal-lingwa ta' programmar Vala 0.54.0 ġiet rilaxxata. Il-lingwa Vala hija lingwa ta 'programmar orjentata lejn l-oġġetti li tipprovdi sintassi simili għal C# jew Java. Il-kodiċi Vala huwa tradott fi programm C, li, min-naħa tiegħu, huwa kkompilat minn kompilatur C standard f'fajl binarju u eżegwit bil-veloċità ta 'applikazzjoni miġbura fil-kodiċi tal-oġġett tal-pjattaforma fil-mira. Huwa possibbli li tmexxi programmi fil-modalità b'kitba. Il-lingwa hija żviluppata taħt l-awspiċi tal-proġett GNOME. Gobject (Glib Object System) jintuża bħala mudell ta' oġġett. Il-kodiċi tal-kompilatur huwa mqassam taħt il-liċenzja LGPLv2.1.

Il-lingwa għandha appoġġ għal introspezzjoni, funzjonijiet lambda, interfaces, delegati u għeluq, sinjali u slots, eċċezzjonijiet, proprjetajiet, tipi mhux nulli, inferenza tat-tip għal varjabbli lokali (var). Il-ġestjoni tal-memorja hija bbażata fuq l-għadd ta' referenza. Il-librerija tal-ipprogrammar ġeneriku libgee ġiet żviluppata għal-lingwa, li tipprovdi l-abbiltà li toħloq kollezzjonijiet għal tipi ta 'dejta personalizzati. Huwa appoġġjat li jiġu enumerati l-elementi tal-ġbir bl-użu tad-dikjarazzjoni foreach. Programmi grafiċi huma pprogrammati bl-użu tal-librerija tal-grafika GTK.

Il-kit jiġi ma 'numru kbir ta' rbit għal libreriji fil-lingwa C. It-traduttur Vala jappoġġja l-lingwa Genie, li tipprovdi karatteristiċi simili, iżda b'sintassi ispirata mil-lingwa ta 'programmar Python. Programmi bħall-klijent tal-posta Geary, il-qoxra grafika Budgie, l-organizzatur tal-fajls tar-ritratti u tal-vidjo Shotwell, u oħrajn huma miktuba bil-lingwa Vala. Il-lingwa tintuża b'mod attiv fl-iżvilupp tad-distribuzzjoni tal-OS Elementari.

Innovazzjonijiet ewlenin:

  • Appoġġ miżjud għad-delegati b'numru varjabbli ta 'parametri;
  • Miżjud profil LIBC, li huwa sinonimu mal-profil POSIX;
  • Ġenerazzjoni mtejba fil-modalità profil POSIX;
  • Miżjud il-kapaċità li tiddikjara varjabbli li jista 'jkollhom valur null b'inferenza tat-tip (var?);
  • Miżjud il-kapaċità li tiddikjara klassijiet projbiti għall-wirt (issiġillati);
  • Miżjud operatur ta' aċċess sigur għall-oqsma tal-klassi li jistgħu jkunu nulli (a.?b.?c);
  • Huwa permess li jinizjalizza l-kontenut ta 'strutturi għal null (const Foo[] BARS = { { "bar", 42 }, null };);
  • Għal arrays kostanti, l-operazzjoni resize() hija pprojbita;
  • Żid twissija meta tipprova titfa' sejħa ta' funzjoni għal null ((void)not_void_func(););
  • Imneħħija restrizzjoni fuq tipi ta 'elementi GLib.Array;
  • Issettja l-wirt tas-sjieda "unowned var" fid-dikjarazzjoni foreach();
  • L-irbit ma' webkit2gtk-4.0 aġġornat għall-verżjoni 2.33.3;
  • L-irbit ma' gstreamer aġġornat għall-verżjoni 1.19.0+ git master;
  • L-irbit għal gtk4 aġġornat għall-verżjoni 4.5.0~e681fdd9;
  • L-irbit ma' gtk+-3.0 aġġornat għall-verżjoni 3.24.29+f9fe28ce
  • L-irbit ma' gio-2.0,glib-2.0 aġġornat għall-verżjoni 2.69.0;
  • Miżjud rabtiet għal SocketCAN għal Linux;
  • Tirranġa fl-irbit għal 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, webkit2gtk-web- estensjoni-4.0, x11, zlib, gnutls;
  • Neħħew il-rbit gedit-2.20 u webkit-1.0;
  • rbit aġġornati bbażati fuq GIR;
  • L-abbiltà li tiċċekkja l-kodiċi C iġġenerat ġiet miżjuda mas-sistema tal-ittestjar;
  • Girparser imtejjeb, girwriter, valadoc, libvaladoc/girimporter;
  • Żbalji akkumulati u nuqqasijiet ta 'diversi komponenti tal-kompilatur ġew iffissati.

Sors: opennet.ru

Żid kumment