Kutolewa kwa mtafsiri wa lugha ya programu Vala 0.54.0

Toleo jipya la mtafsiri wa lugha ya programu Vala 0.54.0 limetolewa. Lugha ya Vala ni lugha ya programu inayolenga kitu ambayo hutoa sintaksia sawa na C# au Java. Msimbo wa Vala hutafsiriwa katika programu ya C, ambayo, kwa upande wake, inakusanywa na mkusanyaji wa kawaida wa C kuwa faili ya jozi na kutekelezwa kwa kasi ya programu iliyokusanywa katika msimbo wa kitu wa jukwaa lengwa. Inawezekana kuendesha programu katika hali ya hati. Lugha inaendelezwa chini ya ufadhili wa mradi wa GNOME. Gobject (Glib Object System) inatumika kama kielelezo cha kitu. Msimbo wa mkusanyaji unasambazwa chini ya leseni ya LGPLv2.1.

Lugha ina usaidizi wa uchunguzi, utendakazi wa lambda, violesura, wajumbe na kufungwa, ishara na nafasi, vighairi, sifa, aina zisizo batili, makisio ya aina kwa vigeu vya ndani (var). Usimamizi wa kumbukumbu unafanywa kulingana na kuhesabu kumbukumbu. Maktaba ya jumla ya programu libgee imeundwa kwa ajili ya lugha, ambayo hutoa uwezo wa kuunda mikusanyiko ya aina maalum za data. Uhesabuji wa vipengele vya mkusanyiko kwa kutumia taarifa ya foreach unaungwa mkono. Upangaji wa programu za michoro unafanywa kwa kutumia maktaba ya michoro ya GTK.

Seti hii inakuja na idadi kubwa ya vifungo kwa maktaba katika lugha ya C. Mtafsiri wa Vala hutoa usaidizi kwa lugha ya Genie, ambayo hutoa uwezo sawa, lakini kwa sintaksia iliyoongozwa na lugha ya programu ya Python. Programu kama vile mteja wa barua pepe wa Geary, ganda la picha la Budgie, mpango wa kupanga faili za picha na video za Shotwell, na zingine zimeandikwa katika lugha ya Vala. Lugha inatumika kikamilifu katika ukuzaji wa usambazaji wa Mfumo wa Uendeshaji wa Msingi.

Ubunifu kuu:

  • Msaada ulioongezwa kwa wajumbe wenye idadi tofauti ya vigezo;
  • Imeongeza wasifu wa LIBC, ambao ni sawa na wasifu wa POSIX;
  • Uzalishaji ulioboreshwa katika hali ya wasifu wa POSIX;
  • Imeongeza uwezo wa kutangaza vigeu ambavyo vinaweza kuwa na thamani isiyo na maana na uelekezaji wa aina (var?);
  • Aliongeza uwezo wa kutangaza madarasa marufuku kwa urithi (muhuri);
  • Aliongeza opereta wa ufikiaji salama kwa sehemu za darasa ambazo zinaweza kubatilishwa (a.?b.?c);
  • Kuruhusu uanzishaji wa maudhui ya muundo kubatilisha (const Foo[] BARS = {{"bar", 42 }, null };);
  • Resize() operesheni ni marufuku kwa safu za mara kwa mara;
  • Imeongeza pato la onyo wakati wa kujaribu kupiga simu ya utendakazi kubatili ((utupu)not_void_func(););
  • Umeondoa kizuizi kwenye aina za vipengele vya GLib.Array;
  • Urithi wa umiliki wa "unowned var" katika taarifa ya foreach();
  • Kufunga kwa webkit2gtk-4.0 imesasishwa hadi toleo la 2.33.3;
  • Kufunga kwa gstreamer iliyosasishwa hadi toleo la 1.19.0+ git master;
  • Kufunga kwa gtk4 kumesasishwa hadi toleo la 4.5.0~e681fdd9;
  • Kufunga kwa gtk+-3.0 kumesasishwa hadi toleo la 3.24.29+f9fe28ce
  • Kufunga kwa gio-2.0,glib-2.0 kumesasishwa hadi toleo la 2.69.0;
  • Kwa linux, vifungo kwa SocketCAN vimeongezwa;
  • Marekebisho katika vifungo vya 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, webkit-2gt ugani-4.0, x11, zlib, gnutls;
  • Imeondolewa vifungo vya gedit-2.20 na webkit-1.0;
  • Vifungo vilivyosasishwa kulingana na GIR;
  • Uwezo wa kuangalia msimbo wa C uliozalishwa umeongezwa kwenye mfumo wa kupima;
  • Kuboresha girparser, girwriter, valadoc, libvaladoc/girimporter;
  • Makosa na mapungufu yaliyokusanywa ya vipengele mbalimbali vya mkusanyaji yamewekwa.

Chanzo: opennet.ru

Kuongeza maoni