Pagpagawas sa tighubad sa programming language nga Vala 0.54.0

Usa ka bag-ong bersyon sa tighubad sa programming language nga Vala 0.54.0 ang gipagawas. Ang Vala nga pinulongan kay usa ka object-oriented programming language nga naghatag ug syntax nga susama sa C# o Java. Ang Vala code gihubad ngadto sa usa ka C program, nga, sa baylo, gihugpong sa usa ka standard C compiler ngadto sa binary file ug gipatuman sa gikusgon sa usa ka aplikasyon nga gihugpong ngadto sa object code sa target nga plataporma. Posible nga modagan ang mga programa sa script mode. Ang pinulongan gipalambo ubos sa pagdumala sa proyekto sa GNOME. Ang Gobject (Glib Object System) gigamit isip modelo sa butang. Ang compiler code giapod-apod ubos sa LGPLv2.1 nga lisensya.

Ang pinulongan adunay suporta alang sa introspection, lambda functions, interfaces, delegates ug closures, signal ug slots, exceptions, properties, non-null type, type inference para sa local variables (var). Ang pagdumala sa memorya gihimo base sa pag-ihap sa reference. Ang usa ka kinatibuk-an nga programming library libgee naugmad alang sa pinulongan, nga naghatag og abilidad sa paghimo og mga koleksyon alang sa custom nga mga tipo sa datos. Ang pag-ihap sa mga elemento sa pagkolekta gamit ang foreach nga pahayag gisuportahan. Ang pagprograma sa mga programa sa graphic gihimo gamit ang GTK graphics library.

Ang kit adunay daghang gidaghanon sa mga binding sa mga librarya sa pinulongang C. Ang tighubad sa Vala naghatag suporta alang sa Genie nga pinulongan, nga naghatag og susama nga mga kapabilidad, apan adunay usa ka syntax nga giinspirar sa Python programming language. Ang maong mga programa sama sa Geary email client, ang Budgie graphical shell, ang Shotwell photo ug video file organization program, ug uban pa kay gisulat sa Vala nga pinulongan. Aktibo nga gigamit ang lengguwahe sa pagpalambo sa distribusyon sa Elementary OS.

Panguna nga mga inobasyon:

  • Gidugang nga suporta alang sa mga delegado nga adunay lainlain nga gidaghanon sa mga parameter;
  • Gidugang ang profile sa LIBC, nga parehas sa profile sa POSIX;
  • Gipauswag nga henerasyon sa POSIX profile mode;
  • Gidugang ang abilidad sa pagdeklara sa mga variable nga mahimong adunay null value nga adunay type inference (var?);
  • Gidugang ang abilidad sa pagdeklarar sa mga klase nga gidili alang sa kabilin (sealed);
  • Gidugang ang luwas nga access operator sa mga natad sa klase nga mahimong null (a.?b.?c);
  • Gitugotan ang pagsugod sa mga sulod sa istruktura ngadto sa null (const Foo[] BARS = {{"bar", 42}, null};);
  • Ang resize() nga operasyon gidili alang sa kanunay nga arrays;
  • Gidugang nga pasidaan nga output sa dihang misulay sa paghimo sa usa ka function nga tawag sa void ((void)not_void_func();
  • Gitangtang ang pagdili sa GLib.Array nga mga tipo sa elemento;
  • Giayo ang "unowned var" nga kabilin sa pagpanag-iya sa foreach() nga pahayag;
  • Ang pagbugkos sa webkit2gtk-4.0 gi-update sa bersyon 2.33.3;
  • Ang pagbugkos sa gstreamer gi-update sa bersyon 1.19.0+ git master;
  • Ang pagbugkos sa gtk4 gi-update sa bersyon 4.5.0~e681fdd9;
  • Ang pagbugkos alang sa gtk+-3.0 gi-update sa bersyon 3.24.29+f9fe28ce
  • Ang pagbugkos sa gio-2.0,glib-2.0 gi-update sa bersyon 2.69.0;
  • Alang sa linux, ang mga pagbugkos sa SocketCAN gidugang;
  • Pag-ayo sa mga binding para sa 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- extension-4.0, x11, zlib, gnutls;
  • Gikuha ang gedit-2.20 ug webkit-1.0 bindings;
  • Gi-update nga mga binding base sa GIR;
  • Ang abilidad sa pagsusi sa namugna nga C code gidugang sa testing system;
  • Mas maayo nga girparser, girwriter, valadoc, libvaladoc/giriimporter;
  • Ang natipon nga mga sayup ug mga kakulangan sa lainlaing mga sangkap sa compiler naayo na.

Source: opennet.ru

Idugang sa usa ka comment