Rilis penerjemah bahasa pemrograman Vala 0.56.0

Versi baru penerjemah bahasa pemrograman Vala 0.56.0 telah dirilis. Bahasa Vala adalah bahasa pemrograman berorientasi objek yang menyediakan sintaksis mirip dengan C# atau Java. Kode Vala diterjemahkan ke dalam program C, yang kemudian dikompilasi oleh kompiler C standar menjadi file biner dan dieksekusi dengan kecepatan aplikasi yang dikompilasi ke dalam kode objek platform target. Dimungkinkan untuk menjalankan program dalam mode skrip. Bahasa ini sedang dikembangkan di bawah naungan proyek GNOME. Gobject (Glib Object System) digunakan sebagai model objek. Kode kompiler didistribusikan di bawah lisensi LGPLv2.1.

Bahasa ini memiliki dukungan untuk introspeksi, fungsi lambda, antarmuka, delegasi dan penutupan, sinyal dan slot, pengecualian, properti, tipe non-null, tipe inferensi untuk variabel lokal (var). Manajemen memori dilakukan berdasarkan penghitungan referensi. Perpustakaan pemrograman umum libgee telah dikembangkan untuk bahasa tersebut, yang menyediakan kemampuan untuk membuat koleksi untuk tipe data khusus. Pencacahan elemen koleksi menggunakan pernyataan foreach didukung. Pemrograman program grafis dilakukan dengan menggunakan perpustakaan grafis GTK.

Kit ini dilengkapi dengan sejumlah besar pengikatan ke perpustakaan dalam bahasa C. Penerjemah Vala menyediakan dukungan untuk bahasa Genie, yang menyediakan kemampuan serupa, tetapi dengan sintaks yang terinspirasi oleh bahasa pemrograman Python. Program seperti klien email Geary, shell grafis Budgie, program pengorganisasian file foto dan video Shotwell, dan lainnya ditulis dalam bahasa Vala. Bahasa ini secara aktif digunakan dalam pengembangan distribusi OS Dasar.

Inovasi utama:

  • Menambahkan dukungan untuk fungsi main() asinkron;
  • Menambahkan dukungan untuk fungsi bersarang;
  • Format untuk menampilkan peringatan dan kesalahan selama kompilasi telah diubah;
  • Kemampuan untuk memanggil sinyal secara dinamis disediakan;
  • Menambahkan dukungan untuk kelas parsial - kelas yang isinya terletak di beberapa file sumber;
  • Untuk binding, kemampuan untuk menentukan tipe panjang array telah ditambahkan. Sebelumnya, hanya tipe integer 32-bit yang diperbolehkan;
  • Menambahkan dukungan untuk operator foreach untuk tipe Glib.Sequence dan Glib.Array;
  • Menambahkan libsoup binding baru, linux-media;
  • Selama proses porting, perpustakaan gnome-desktop dipecah menjadi gnome-desktop-4, gnome-rr-4 dan gnome-bg-4.
  • Panduan pemrograman GNOME diperluas dengan contoh-contoh di Vala.
  • Menambahkan Catatan Rilis dalam bahasa markdown Markdown.
  • Binding yang diperbarui:
    • gtk4 hingga versi 4.6.0+06ec4ec1;
    • gstreamer hingga versi 1.21.0+ git master;
    • gio-2.0 hingga versi 2.72;
    • glib-2.0 sebelum versi 2.72;
    • gobject-2.0 sebelum versi 2.72;
    • webkit2gtk-*.0 sebelum versi 2.35.1.

Sumber: opennet.ru

Tambah komentar