Versi baharu penterjemah bahasa pengaturcaraan Vala, versi 0.51.1, telah dikeluarkan. Vala ialah bahasa pengaturcaraan berorientasikan objek dengan sintaks yang serupa dengan C# atau Java. Ia menggunakan Gobject (Glib Object System) sebagai model objeknya. Pengurusan memori dikira berdasarkan rujukan.
Bahasa ini menyokong introspeksi, fungsi lambda, antara muka, perwakilan dan penutupan, isyarat dan slot, pengecualian, sifat, jenis tidak boleh null dan inferens jenis untuk pembolehubah setempat (var). Bahasa ini merangkumi perpustakaan pengaturcaraan generik libgee, yang membolehkan penciptaan koleksi untuk jenis data yang ditentukan pengguna. Penghitungan elemen koleksi disokong menggunakan pernyataan foreach. Pengaturcaraan grafik dicapai menggunakan perpustakaan grafik GTK+. Sebilangan besar pengikatan pada perpustakaan C disertakan.
Program Vala diterjemahkan ke dalam C dan kemudian dikompilasi menggunakan pengkompil C terbina dalam. Program boleh dijalankan dalam mod skrip. Pengkompil Vala menyokong bahasa Genie, yang menawarkan keupayaan yang serupa tetapi dengan sintaks yang diinspirasikan oleh bahasa pengaturcaraan Python.
Bahasa Vala sedang dibangunkan di bawah naungan projek GNOME. Vala memperkasakan program seperti klien e-mel Geary, persekitaran desktop Budgie, pengurus koleksi foto dan video Shotwell dan lain-lain. Vala digunakan secara aktif dalam pembangunan komponen. Linux-Pengedaran OS asas.
Dalam versi baharu:
- Menambah sokongan untuk penyempitan jenis automatik dalam ungkapan; jika (x ialah Foo){ x.SomeFooField // tidak perlu menghantar "x" secara eksplisit kepada "Foo" }
- Menambah sokongan untuk memanggil rantai pembina untuk templat;
- Menambah semakan versi libvala semasa pelaksanaan;
- Sokongan tambahan untuk kelas padat legap;
- Sokongan yang diperluas untuk parameter tatasusunan dalam pembina;
- Girparser kini mengendalikan perwakilan tanpa nama yang tidak disokong oleh kaedah atau isyarat maya;
- Pepijat dalam valadoc, libvaladoc dan girwriter telah dibaiki;
- Penambahan pengikatan pada SDL 2.x, sokongan untuk pengikatan SDL 1.x dihentikan;
- Menambah pengikatan pada Enchant 2.x;
- Membetulkan kebocoran memori apabila menyalin tatasusunan secara eksplisit, menggunakan Glib.Value, dan mengalihkan struktur yang diperuntukkan timbunan ke tindanan;
- Pengikatan kepada gdk-pixbuf-2.0 dikemas kini kepada versi 2.42.3;
- Menambah pengikatan untuk fungsi getopt_long() dan beberapa fungsi GNU yang lain;
- Menambah pengikatan kepada generik libunwind;
- Memperbaiki pengikatan pada 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;
- Pengikatan kepada gio-2.0 telah dikemas kini kepada versi 2.67.3;
- Pengikatan kepada gobject-2.0 dikemas kini kepada versi 2.68;
- Mengikat kepada gstreamer dikemas kini kepada versi 1.19.0+ git master;
- Pengikatan kepada gtk4 telah dikemas kini kepada versi 4.1.0+2712f536;
- Menambah pengikatan pada API ungkapan biasa untuk POSIX, GNU dan BSD;
- Mengikat kepada webkit2gtk-4.0 dikemas kini kepada versi 2.31.1;
- Ralat dan kekurangan terkumpul pada pengkompil telah diperbetulkan.
Sumber: opennet.ru
