Išleista eksperimentinė programavimo kalbos vertėjo Vala 0.51.1 versija

Išleista nauja programavimo kalbos vertėjo Vala 0.51.1 versija. Vala kalba yra į objektą orientuota programavimo kalba, turinti sintaksę, panašią į C# arba Java. Gobject (Glib Object System) naudojamas kaip objekto modelis. Atminties valdymas atliekamas remiantis atskaitos skaičiavimu.

Kalba palaiko introspekciją, lambda funkcijas, sąsajas, delegatus ir uždarymus, signalus ir tarpsnius, išimtis, ypatybes, nenulinius tipus, vietinių kintamųjų tipo išvadą (var). Kalbai buvo sukurta apibendrinta programavimo biblioteka libgee, kuri suteikia galimybę kurti pasirinktinių duomenų tipų rinkinius. Palaikomas rinkinio elementų išvardijimas naudojant foreach teiginį. Grafikos programų programavimas atliekamas naudojant GTK+ grafikos biblioteką. Komplekte yra daug surišimų su bibliotekomis C kalba.

Vala programos verčiamos į C atvaizdavimą ir vėliau sukompiliuojamos standartiniu C kompiliatoriumi. Galima programas paleisti scenarijaus režimu. „Vala“ vertėjas palaiko „Genie“ kalbą, kuri suteikia panašias galimybes, tačiau sintaksė yra įkvėpta „Python“ programavimo kalbos.

Vala kalba sukurta globojant GNOME projektą. Vala naudojama tokioms programoms kaip Geary elektroninio pašto klientas, Budgie grafinis apvalkalas, Shotwell nuotraukų ir vaizdo įrašų kolekcijos valdymo programa ir kt. „Vala“ aktyviai naudojama kuriant „Linux“ platinimo elementariosios OS komponentus.

Naujoje versijoje:

  • Pridėta automatinio tipo susiaurinimo išraiškose palaikymas; if (x yra Foo){ x.SomeFooField // nereikia aiškiai perduoti "x" į "Foo" }
  • Pridėtas konstruktorių grandinių iškvietimas šablonams;
  • Pridėta libvala versijos patikra vykdymo metu;
  • Pridėtas nepermatomų kompaktiškų klasių palaikymas;
  • Išplėstas konstruktorių masyvo parametrų palaikymas;
  • Pridėtas anoniminių delegatų apdorojimas, nepalaikomas virtualiais metodais ar signalais į girparser;
  • Ištaisytos klaidos valadoc, libvaladoc ir girwriter;
  • Pridėtas susiejimas su SDL 2.x, SDL 1.x susiejimo palaikymas buvo nutrauktas;
  • Pridėtas susiejimas su Enchant 2.x;
  • Ištaisytas atminties nutekėjimas aiškiai kopijuojant masyvus, naudojant Glib.Value arba perkeliant krūvoje skirtą struktūrą į krūvą;
  • Susiejimas su gdk-pixbuf-2.0 buvo atnaujintas į 2.42.3 versiją;
  • Pridėtas funkcijos getopt_long() ir kelių kitų GNU funkcijų susiejimas;
  • Pridėtas susiejimas su libunwind-generic;
  • Fiksuoti apkaustai, skirti 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+-k3.0x,ml, gtk+-k4x,ml, -2.0;
  • Susiejimas su gio-2.0 buvo atnaujintas į 2.67.3 versiją;
  • Susiejimas su gobject-2.0 buvo atnaujintas į 2.68 versiją;
  • Susiejimas su „gstreamer“ atnaujinta į 1.19.0 ar naujesnę „git master“ versiją;
  • Susiejimas su gtk4 buvo atnaujintas į 4.1.0+2712f536 versiją;
  • Pridėta sąsajų su POSIX, GNU ir BSD reguliariosios išraiškos API;
  • Susiejimas su webkit2gtk-4.0 atnaujinta į 2.31.1 versiją;
  • Ištaisytos susikaupusios kompiliatoriaus klaidos ir trūkumai.

Šaltinis: opennet.ru

Добавить комментарий