Paglabas ng isang pang-eksperimentong bersyon ng tagasalin ng programming language na Vala 0.51.1

Isang bagong bersyon ng tagasalin ng programming language na Vala 0.51.1 ang inilabas. Ang wika ng Vala ay isang object-oriented programming language na nagbibigay ng syntax na katulad ng C# o Java. Ginagamit ang Gobject (Glib Object System) bilang object model. Ang pamamahala ng memorya ay isinasagawa batay sa pagbibilang ng sanggunian.

Ang wika ay may suporta para sa pagsisiyasat ng sarili, mga function ng lambda, mga interface, mga delegado at pagsasara, mga signal at mga puwang, mga pagbubukod, mga katangian, mga hindi null na uri, uri ng hinuha para sa mga lokal na variable (var). Ang isang pangkalahatang programming library libgee ay binuo para sa wika, na nagbibigay ng kakayahang lumikha ng mga koleksyon para sa mga custom na uri ng data. Ang enumerasyon ng mga elemento ng koleksyon gamit ang foreach statement ay sinusuportahan. Ang pagprograma ng mga programa ng graphics ay isinasagawa gamit ang GTK+ graphics library. Ang kit ay may kasamang malaking bilang ng mga binding sa mga aklatan sa wikang C.

Ang mga programa ng Vala ay isinalin sa representasyon ng C at pagkatapos ay pinagsama-sama ng isang karaniwang C compiler. Posibleng magpatakbo ng mga programa sa script mode. Nagbibigay ang tagasalin ng Vala ng suporta para sa wikang Genie, na nagbibigay ng mga katulad na kakayahan, ngunit may syntax na inspirasyon ng Python programming language.

Ang wikang Vala ay binuo sa ilalim ng tangkilik ng proyekto ng GNOME. Ginagamit ang Vala upang magsulat ng mga programa tulad ng Geary email client, ang Budgie graphical shell, ang Shotwell photo at video collection management program, at iba pa. Ang Vala ay aktibong ginagamit sa pagbuo ng mga bahagi ng pamamahagi ng Linux Elementary OS.

Sa bagong bersyon:

  • Nagdagdag ng suporta para sa awtomatikong pagpapaliit ng uri sa mga expression; kung ang (x ay Foo){ x.SomeFooField // hindi na kailangang tahasang i-cast ang "x" sa "Foo" }
  • Nagdagdag ng suporta para sa pagtawag sa mga constructor chain para sa mga template;
  • Nagdagdag ng libvala version check sa runtime;
  • Nagdagdag ng suporta para sa mga opaque compact na klase;
  • Pinalawak na suporta para sa mga parameter ng array sa mga konstruktor;
  • Idinagdag ang pagproseso ng mga hindi kilalang delegado na hindi sinusuportahan ng mga virtual na pamamaraan o signal sa girparser;
  • Inayos ang mga bug sa valadoc, libvaladoc at girwriter;
  • Idinagdag ang binding sa SDL 2.x, ang suporta para sa SDL 1.x binding ay hindi na ipinagpatuloy;
  • Idinagdag ang pagbubuklod sa Enchant 2.x;
  • Nag-ayos ng memory leak kapag tahasang kinokopya ang mga array, gamit ang Glib.Value, o paglilipat ng istrukturang nakalaan sa Heap sa stack;
  • Ang pagbubuklod sa gdk-pixbuf-2.0 ay na-update sa bersyon 2.42.3;
  • Idinagdag ang pagbubuklod ng getopt_long() function at ilang iba pang GNU function;
  • Idinagdag ang pagbubuklod sa libunwind-generic;
  • Mga nakapirming binding para sa cairo, gobject-2.0, pango, goocanvas-2.0, curses, alsa, bzlib, sqlite3, libgvc, posix, gstreamer-1.0, gdk-3.0, gdk-x11-3.0, gtk+-3.0, gtk4, fuse, gtk2.0, fuse -XNUMX;
  • Ang pagbubuklod sa gio-2.0 ay na-update sa bersyon 2.67.3;
  • Ang pagbubuklod sa gobject-2.0 ay na-update sa bersyon 2.68;
  • Ang pagbubuklod sa gstreamer ay na-update sa bersyon 1.19.0+ git master;
  • Ang pagbubuklod sa gtk4 ay na-update sa bersyon 4.1.0+2712f536;
  • Nagdagdag ng mga binding sa regular na expression na API para sa POSIX, GNU at BSD;
  • Ang pagbubuklod sa webkit2gtk-4.0 ay na-update sa bersyon 2.31.1;
  • Ang mga naipon na error at pagkukulang ng compiler ay naayos na.

Pinagmulan: opennet.ru

Magdagdag ng komento