Kutolewa kwa toleo la majaribio la mtafsiri wa lugha ya programu Vala 0.51.1

Toleo jipya la mtafsiri wa lugha ya programu Vala 0.51.1 limetolewa. Lugha ya Vala ni lugha ya programu inayolenga kitu ambayo hutoa sintaksia sawa na C# au Java. Gobject (Glib Object System) inatumika kama kielelezo cha kitu. Usimamizi wa kumbukumbu unafanywa kulingana na kuhesabu kumbukumbu.

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). 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.

Programu za Vala hutafsiriwa katika uwakilishi wa C na kisha kukusanywa na mkusanyaji wa kawaida wa C. Inawezekana kuendesha programu katika hali ya hati. Mtafsiri wa Vala hutoa usaidizi kwa lugha ya Genie, ambayo hutoa uwezo sawa, lakini kwa syntax iliyoongozwa na lugha ya programu ya Python.

Lugha ya Vala inaendelezwa chini ya ufadhili wa mradi wa GNOME. Vala hutumiwa kuandika programu kama vile mteja wa barua pepe wa Geary, ganda la picha la Budgie, mpango wa usimamizi wa ukusanyaji wa picha na video wa Shotwell, na zingine. Vala hutumiwa kikamilifu katika maendeleo ya vipengele vya usambazaji wa Linux Elementary OS.

Katika toleo jipya:

  • Usaidizi ulioongezwa kwa upunguzaji wa aina otomatiki katika misemo; ikiwa (x ni Foo){ x.SomeFooField // hakuna haja ya kutuma "x" kwa "Foo" kwa uwazi }
  • Usaidizi ulioongezwa wa kupiga minyororo ya wajenzi kwa violezo;
  • Imeongeza toleo la libvala angalia wakati wa kukimbia;
  • Msaada ulioongezwa kwa madarasa ya kompakt opaque;
  • Msaada uliopanuliwa kwa vigezo vya safu katika wajenzi;
  • Uchakataji ulioongezwa wa wajumbe wasiojulikana ambao hautumiwi na mbinu pepe au ishara kwa girparser;
  • Mende zisizohamishika katika valadoc, libvaladoc na girwriter;
  • Ufungaji ulioongezwa kwa SDL 2.x, utumiaji wa kuunganisha SDL 1.x ulikatishwa;
  • Imeongeza kuunganisha kwa Enchant 2.x;
  • Ilirekebisha uvujaji wa kumbukumbu wakati wa kunakili safu kwa njia dhahiri, kwa kutumia Glib.Value, au kuhamisha muundo uliowekwa kwenye Lundo hadi kwenye rafu;
  • Kufunga kwa gdk-pixbuf-2.0 kumesasishwa hadi toleo la 2.42.3;
  • Ufungaji ulioongezwa wa kitendakazi getopt_long() na vitendaji vingine kadhaa vya GNU;
  • Imeongeza kumfunga kwa libunwind-generic;
  • Vifungo visivyobadilika vya cairo, gobject-2.0, pango, goocanvas-2.0, laana, alsa, bzlib, sqlite3, libgvc, posix, gstreamer-1.0, gdk-3.0, gdk-x11-3.0, gtk+-3.0, gt -4;
  • Kufunga kwa gio-2.0 kumesasishwa hadi toleo la 2.67.3;
  • Kufunga kwenye gobject-2.0 kumesasishwa hadi toleo la 2.68;
  • Kufunga kwa gstreamer iliyosasishwa hadi toleo la 1.19.0+ git master;
  • Kufunga kwa gtk4 kumesasishwa hadi toleo la 4.1.0+2712f536;
  • Imeongeza vifungo kwa API ya kujieleza ya kawaida ya POSIX, GNU na BSD;
  • Kufunga kwa webkit2gtk-4.0 imesasishwa hadi toleo la 2.31.1;
  • Makosa na mapungufu yaliyokusanywa ya mkusanyaji yamewekwa.

Chanzo: opennet.ru

Kuongeza maoni