'n Nuwe weergawe van die programmeertaalvertaler Vala 0.51.1 is vrygestel. Die Vala-taal is 'n objekgeoriënteerde programmeertaal wat 'n sintaksis soortgelyk aan C# of Java verskaf. Gobject (Glib Object System) word as 'n objekmodel gebruik. Geheuebestuur word uitgevoer op grond van verwysingtelling.
Die taal het ondersteuning vir introspeksie, lambda-funksies, koppelvlakke, afgevaardigdes en sluitings, seine en gleuwe, uitsonderings, eienskappe, nie-nul tipes, tipe inferensie vir plaaslike veranderlikes (var). 'n Algemene programmeringsbiblioteek libgee is vir die taal ontwikkel, wat die vermoë bied om versamelings vir persoonlike datatipes te skep. Opsomming van versamelingselemente met behulp van die vooreke stelling word ondersteun. Grafiese programme word geprogrammeer met behulp van die GTK+ grafiese biblioteek. Die kit kom met 'n groot aantal bindings aan biblioteke in die C-taal.
Vala-programme word in C-voorstelling vertaal en dan saamgestel deur 'n standaard C-samesteller Dit is moontlik om programme in script-modus te laat loop. Die Vala-vertaler bied ondersteuning vir die Genie-taal, wat soortgelyke vermoëns bied, maar met 'n sintaksis geïnspireer deur die Python-programmeertaal.
Die Vala-taal word ontwikkel onder die vaandel van die GNOME-projek. Vala word gebruik om programme soos die Geary-e-poskliënt, die Budgie-grafiese dop, die Shotwell-foto- en videoversamelingbestuursprogram en ander te skryf. Vala word aktief gebruik in die ontwikkeling van komponente van die Linux-verspreiding Elementary OS.
In die nuwe weergawe:
- Bygevoeg ondersteuning vir outomatiese tipe vernouing in uitdrukkings; if (x is Foo){ x.SomeFooField // hoef nie "x" uitdruklik na "Foo" te gooi nie }
- Bygevoeg ondersteuning vir die oproep van konstruktorkettings vir sjablone;
- Bygevoeg libvala weergawe tjek tydens looptyd;
- Bygevoeg ondersteuning vir ondeursigtige kompakte klasse;
- Uitgebreide ondersteuning vir skikking parameters in konstrukteurs;
- Bygevoeg verwerking van anonieme afgevaardigdes nie ondersteun deur virtuele metodes of seine aan girparser;
- Foute reggemaak in valadoc, libvaladoc en girwriter;
- Bygevoeg binding aan SDL 2.x, ondersteuning vir SDL 1.x binding is gestaak;
- Bygevoeg binding aan Enchant 2.x;
- Het 'n geheuelek reggestel wanneer skikkings eksplisiet gekopieer is, Glib.Value gebruik het, of 'n struktuur wat op die Hoop toegeken is, na die stapel verskuif het;
- Die binding aan gdk-pixbuf-2.0 is opgedateer na weergawe 2.42.3;
- Bygevoeg binding van die getopt_long() funksie en verskeie ander GNU funksies;
- Bygevoeg binding aan libunwind-generies;
- Vaste bindings vir 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, fml -2.0;
- Binding aan gio-2.0 is opgedateer na weergawe 2.67.3;
- Binding aan gobject-2.0 is opgedateer na weergawe 2.68;
- Binding aan gstreamer is opgedateer na weergawe 1.19.0+ git master;
- Binding aan gtk4 is opgedateer na weergawe 4.1.0+2712f536;
- Bygevoeg bindings aan die gewone uitdrukking API vir POSIX, GNU en BSD;
- Binding aan webkit2gtk-4.0 is opgedateer na weergawe 2.31.1;
- Die opgehoopte foute en tekortkominge van die samesteller is reggestel.
Bron: opennet.ru
