Liberasyon tradiktè langaj pwogramasyon Vala 0.54.0

Yon nouvo vèsyon tradiktè lang pwogramasyon Vala 0.54.0 te pibliye. Lang Vala se yon langaj pwogram oryante objè ki bay yon sentaks ki sanble ak C# oswa Java. Vala kòd tradui nan yon pwogram C, ki, nan vire, se konpile pa yon estanda C du nan yon dosye binè epi egzekite nan vitès la nan yon aplikasyon konpile nan kòd objè nan platfòm la sib. Li posib pou kouri pwogram nan mòd script. Lang lan ap devlope anba ejid pwojè GNOME. Gobject (Glib Object System) yo itilize kòm yon modèl objè. Kòd konpilatè a distribye anba lisans LGPLv2.1.

Lang nan gen sipò pou entwospeksyon, fonksyon lambda, koòdone, delege ak fèmti, siyal ak fant, eksepsyon, pwopriyete, kalite ki pa nil, kalite enferans pou varyab lokal yo (var). Se jesyon memwa te pote baze sou konte referans. Yon libgee bibliyotèk jeneralize pwogramasyon te devlope pou lang lan, ki bay kapasite pou kreye koleksyon pou kalite done koutim. Enumasyon eleman koleksyon yo ak deklarasyon foreach la sipòte. Pwogramasyon nan pwogram grafik yo te pote soti nan bibliyotèk la grafik GTK.

Twous la vini ak yon gwo kantite lyezon nan bibliyotèk nan lang C. Vala tradiktè a bay sipò pou lang Genie a, ki bay kapasite menm jan an, men ak yon sentaks enspire pa langaj pwogramasyon Python. Pwogram tankou kliyan imel Geary, kokiy grafik Budgie, pwogram òganizasyon Shotwell foto ak videyo, ak lòt yo ekri nan lang Vala. Langaj la itilize aktivman nan devlopman distribisyon OS Elementary.

Prensipal inovasyon:

  • Te ajoute sipò pou delege ak yon kantite varyab nan paramèt;
  • Te ajoute pwofil LIBC, ki se synonym ak pwofil POSIX;
  • Amelyore jenerasyon nan mòd pwofil POSIX;
  • Te ajoute kapasite pou deklare varyab ki ka gen yon valè nil ak enferans kalite (var?);
  • Te ajoute kapasite pou deklare klas entèdi pou eritaj (sele);
  • Te ajoute operatè aksè san danje nan jaden klas ki ka nil (a.?b.?c);
  • Pèmèt inisyalizasyon kontni estrikti yo nan nil (const Foo[] BARS = {{ "bar", 42 }, null };);
  • Operasyon resize() entèdi pou etalaj konstan;
  • Te ajoute pwodiksyon avètisman lè w ap eseye jete yon apèl fonksyon pou anile ((void)not_void_func(););
  • Retire restriksyon sou kalite eleman GLib.Array;
  • Fiks "unowned var" eritaj pwopriyetè nan deklarasyon foreach ();
  • Liaison webkit2gtk-4.0 te mete ajou nan vèsyon 2.33.3;
  • Obligasyon ak gstreamer te mete ajou nan vèsyon 1.19.0+ git master;
  • Liaison pou gtk4 te mete ajou nan vèsyon 4.5.0 ~ e681fdd9;
  • Liaison pou gtk+-3.0 te mete ajou nan vèsyon 3.24.29+f9fe28ce
  • Liaison ak gio-2.0, glib-2.0 te mete ajou nan vèsyon 2.69.0;
  • Pou linux, yo te ajoute lyen sou SocketCAN;
  • Ranje nan lyezon pou 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- ekstansyon-4.0, x11, zlib, gnutls;
  • Retire gedit-2.20 ak webkit-1.0 obligatwa;
  • Mizajou atachman ki baze sou GIR;
  • Kapasite pou tcheke kòd C ki te pwodwi yo te ajoute nan sistèm tès la;
  • Amelyore girparser, girwriter, valadoc, libvaladoc/girimporter;
  • Yo te ranje erè akimile ak enpèfeksyon divès kalite konpozan yo.

Sous: opennet.ru

Add nouvo kòmantè