Programmēšanas valodas tulkotāja Vala 0.51.1 eksperimentālās versijas izlaišana

Ir izlaista jauna Vala programmēšanas valodas tulkotāja versija — 0.51.1. Vala ir objektorientēta programmēšanas valoda ar sintaksi, kas līdzīga C# vai Java. Tā kā objektu modeli izmanto Gobject (Glib Object System). Atmiņas pārvaldība tiek skaitīta pēc atsaucēm.

Valoda atbalsta introspekciju, lambda funkcijas, saskarnes, delegātus un slēgumus, signālus un slotus, izņēmumus, īpašības, tipus bez nulles un tipu secināšanu lokālajiem mainīgajiem (var). Valoda ietver libgee vispārīgo programmēšanas bibliotēku, kas ļauj izveidot kolekcijas lietotāja definētiem datu tipiem. Kolekcijas elementu uzskaitīšana tiek atbalstīta, izmantojot foreach komandu. Grafikas programmēšana tiek veikta, izmantojot GTK+ grafikas bibliotēku. Ir iekļauts liels skaits saistījumu ar C bibliotēkām.

Vala programmas tiek tulkotas C valodā un pēc tam kompilētas, izmantojot iebūvēto C kompilatoru. Programmas var palaist skriptu režīmā. Vala kompilators atbalsta Genie valodu, kas piedāvā līdzīgas iespējas, bet ar sintaksi, kas iedvesmota no Python programmēšanas valodas.

Язык Vala развивается под эгидой проекта GNOME. На Vala написаны такие программы, как почтовый клиент Geary, графическая оболочка Budgie, программа управления коллекцией фото и видео Shotwell и другие. Vala активно используется при разработке компонентов Linux-дистрибутива Elementary OS.

Jaunajā versijā:

  • Pievienots atbalsts automātiskai tipa sašaurināšanai izteiksmēs; if (x is Foo){ x.SomeFooField // nav nepieciešams tieši pārveidot "x" par "Foo" }
  • Pievienots atbalsts konstruktoru ķēžu izsaukšanai veidnēm;
  • Pievienota libvala versijas pārbaude izpildes laikā;
  • Pievienots atbalsts necaurspīdīgām kompaktajām klasēm;
  • Paplašināts masīva parametru atbalsts konstruktoros;
  • Girparser tagad apstrādā anonīmus delegātus, kurus neatbalsta virtuālās metodes vai signāli;
  • Novērstas kļūdas valadoc, libvaladoc un girwriter;
  • Pievienota saistīšana ar SDL 2.x, pārtraukts atbalsts SDL 1.x saistīšanai;
  • Pievienota saistīšana Enchant 2.x versijai;
  • Novērsta atmiņas noplūde, skaidri kopējot masīvus, izmantojot Glib.Value, un pārvietojot kaudzei piešķirtu struktūru uz steku;
  • Saistīšana ar gdk-pixbuf-2.0 atjaunināta uz 2.42.3 versiju;
  • Pievienota saistīšana funkcijai getopt_long() un vairākām citām GNU funkcijām;
  • Pievienota saistīšana ar libunwind-generic;
  • Novērstas saistīšanas ar 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, libxml-2.0;
  • Saistīšana ar gio-2.0 ir atjaunināta uz 2.67.3 versiju;
  • Saistīšana ar gobject-2.0 atjaunināta uz 2.68 versiju;
  • Saistīšana ar gstreamer ir atjaunināta uz git master versiju 1.19.0+;
  • Saistīšana ar gtk4 ir atjaunināta uz versiju 4.1.0+2712f536;
  • Pievienotas saistīšanas regulāro izteiksmju API POSIX, GNU un BSD;
  • Saistīšana ar webkit2gtk-4.0 ir atjaunināta uz versiju 2.31.1;
  • Kompilatora uzkrātās kļūdas un trūkumi ir izlaboti.

Avots: opennet.ru

Iegādājieties uzticamu mitināšanu vietnēm ar DDoS aizsardzību, VPS VDS serveriem 🔥 Iegādājieties uzticamu tīmekļa vietņu mitināšanu ar DDoS aizsardzību, VPS VDS serveriem | ProHoster