Vydanie experimentálnej verzie prekladača programovacieho jazyka Vala 0.51.1

Bola vydaná nová verzia prekladača programovacích jazykov Vala 0.51.1. Jazyk Vala je objektovo orientovaný programovací jazyk, ktorý poskytuje syntax podobnú C# alebo Jave. Ako objektový model sa používa Gobject (Glib Object System). Správa pamäte sa vykonáva na základe počítania referencií.

Jazyk má podporu pre introspekciu, funkcie lambda, rozhrania, delegátov a uzávery, signály a sloty, výnimky, vlastnosti, nenulové typy, odvodenie typu pre lokálne premenné (var). Pre jazyk bola vyvinutá zovšeobecnená programovacia knižnica libgee, ktorá poskytuje možnosť vytvárať kolekcie pre vlastné dátové typy. Enumerácia prvkov kolekcie pomocou príkazu foreach je podporovaná. Programovanie grafických programov sa vykonáva pomocou grafickej knižnice GTK+. Súprava sa dodáva s veľkým počtom väzieb na knižnice v jazyku C.

Programy Vala sú preložené do reprezentácie C a potom kompilované štandardným kompilátorom C. Programy je možné spúšťať v režime skriptov. Prekladač Vala poskytuje podporu pre jazyk Genie, ktorý poskytuje podobné možnosti, avšak so syntaxou inšpirovanou programovacím jazykom Python.

Jazyk Vala sa vyvíja pod záštitou projektu GNOME. Vala poháňa programy ako e-mailový klient Geary, desktopové prostredie Budgie, správca zbierok fotografií a videí Shotwell a ďalšie. Vala sa aktívne používa pri vývoji komponentov. Linux-Základná distribúcia OS.

V novej verzii:

  • Pridaná podpora pre automatické zužovanie typu vo výrazoch; if (x je Foo){ x.SomeFooField // nie je potrebné explicitne prenášať "x" na "Foo" }
  • Pridaná podpora pre volanie reťazcov konštruktorov pre šablóny;
  • Pridaná kontrola verzie libvala za behu;
  • Pridaná podpora pre nepriehľadné kompaktné triedy;
  • Rozšírená podpora pre parametre poľa v konštruktoroch;
  • Pridané spracovanie anonymných delegátov nepodporovaných virtuálnymi metódami alebo signálmi do girparseru;
  • Opravené chyby vo valadoc, libvaladoc a girwriter;
  • Pridaná väzba na SDL 2.x, podpora väzby SDL 1.x bola ukončená;
  • Pridaná väzba do Enchant 2.x;
  • Opravený únik pamäte pri explicitnom kopírovaní polí, pomocou Glib.Value alebo presúvaní štruktúry alokovanej na halde do zásobníka;
  • Väzba na gdk-pixbuf-2.0 bola aktualizovaná na verziu 2.42.3;
  • Pridané viazanie funkcie getopt_long() a niekoľkých ďalších funkcií GNU;
  • Pridaná väzba na libunwind-generic;
  • Opravené väzby pre 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, libx4, fuse -2.0;
  • Väzba na gio-2.0 bola aktualizovaná na verziu 2.67.3;
  • Väzba na gobject-2.0 bola aktualizovaná na verziu 2.68;
  • Väzba na gstreamer bola aktualizovaná na verziu 1.19.0+ git master;
  • Väzba na gtk4 bola aktualizovaná na verziu 4.1.0+2712f536;
  • Pridané väzby k API regulárneho výrazu pre POSIX, GNU a BSD;
  • Väzba na webkit2gtk-4.0 bola aktualizovaná na verziu 2.31.1;
  • Nahromadené chyby a nedostatky kompilátora boli opravené.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre stránky s DDoS ochranou, VPS VDS servery 🔥 Kúpte si spoľahlivý webhosting s ochranou DDoS, VPS VDS servery | ProHoster