Izlazak eksperimentalne verzije prevodioca programskog jezika Vala 0.51.1

Objavljena je nova verzija prevodioca programskog jezika Vala 0.51.1. Jezik Vala je objektno orijentisani programski jezik koji pruža sintaksu sličnu C# ili Javi. Gobject (Glib Object System) se koristi kao objektni model. Upravljanje memorijom se vrši na osnovu brojanja referenci.

Jezik ima podršku za introspekciju, lambda funkcije, interfejse, delegate i zatvaranja, signale i utore, izuzetke, svojstva, tipove koji nisu nulti, zaključivanje tipa za lokalne varijable (var). Za jezik je razvijena generalizovana programska biblioteka libgee, koja pruža mogućnost kreiranja kolekcija za prilagođene tipove podataka. Podržano je nabrajanje elemenata kolekcije pomoću izraza foreach. Programiranje grafičkih programa vrši se pomoću grafičke biblioteke GTK+. Komplet dolazi sa velikim brojem veza za biblioteke u C jeziku.

Vala programi se prevode u C reprezentaciju i zatim kompajliraju standardnim kompajlerom C. Moguće je pokrenuti programe u skript modu. Vala prevodilac pruža podršku za Genie jezik, koji pruža slične mogućnosti, ali sa sintaksom inspirisanom programskim jezikom Python.

Vala jezik je razvijen pod okriljem GNOME projekta. Vala se koristi za pisanje programa kao što su Geary email klijent, grafička ljuska Budgie, program za upravljanje kolekcijom fotografija i videa Shotwell i drugi. Vala se aktivno koristi u razvoju komponenti Linux distribucije Elementary OS.

U novoj verziji:

  • Dodata podrška za automatsko sužavanje tipa u izrazima; if (x je Foo){ x.SomeFooField // nema potrebe za eksplicitnim prebacivanjem "x" na "Foo" }
  • Dodata podrška za pozivanje lanaca konstruktora za šablone;
  • Dodata provjera verzije libvale u vrijeme izvođenja;
  • Dodata podrška za neprozirne kompaktne klase;
  • Proširena podrška za parametre niza u konstruktorima;
  • Dodata obrada anonimnih delegata nije podržana virtuelnim metodama ili signalima girparseru;
  • Ispravljene greške u valadoc, libvaladoc i girwriter;
  • Dodato vezivanje za SDL 2.x, podrška za SDL 1.x povezivanje je ukinuta;
  • Dodato vezivanje za Enchant 2.x;
  • Popravljeno je curenje memorije prilikom eksplicitnog kopiranja nizova, korištenjem Glib.Value ili premještanja strukture dodijeljene na hrpi u stog;
  • Vezivanje za gdk-pixbuf-2.0 je ažurirano na verziju 2.42.3;
  • Dodato povezivanje funkcije getopt_long() i nekoliko drugih GNU funkcija;
  • Dodato vezivanje za libunwind-generic;
  • Fiksni vezovi za 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+-kbl, fuse +-kbl, fuse -3.0;
  • Vezivanje za gio-2.0 je ažurirano na verziju 2.67.3;
  • Vezivanje za gobject-2.0 je ažurirano na verziju 2.68;
  • Vezivanje za gstreamer je ažurirano na verziju 1.19.0+ git master;
  • Vezivanje za gtk4 je ažurirano na verziju 4.1.0+2712f536;
  • Dodata vezivanja za API regularnog izraza za POSIX, GNU i BSD;
  • Vezivanje za webkit2gtk-4.0 je ažurirano na verziju 2.31.1;
  • Nagomilane greške i nedostaci kompajlera su ispravljeni.

izvor: opennet.ru

Dodajte komentar