Rilis penerjemah basa pamrograman Vala 0.54.0

Versi anyar saka penerjemah basa pamrograman Vala 0.54.0 wis dirilis. Basa Vala minangka basa pamrograman berorientasi obyek sing nyedhiyakake sintaks sing padha karo C # utawa Jawa. Kode Vala diterjemahake menyang program C, sing banjur dikompilasi dening compiler C standar dadi file binar lan dieksekusi kanthi kacepetan aplikasi sing dikompilasi dadi kode obyek platform target. Sampeyan bisa mbukak program ing mode script. Basa iki dikembangake ing sangisore proyek GNOME. Gobject (Glib Object System) digunakake minangka model obyek. Kode compiler disebarake miturut lisensi LGPLv2.1.

Basa kasebut nduweni dhukungan kanggo introspeksi, fungsi lambda, antarmuka, delegasi lan penutupan, sinyal lan slot, pangecualian, sifat, jinis non-null, inferensi jinis kanggo variabel lokal (var). Manajemen memori digawa metu adhedhasar pancacahan referensi. Libgee perpustakaan pemrograman umum wis dikembangake kanggo basa kasebut, sing menehi kemampuan kanggo nggawe koleksi kanggo jinis data khusus. Enumerasi unsur koleksi nggunakake statement foreach didhukung. Pemrograman program grafis ditindakake nggunakake perpustakaan grafis GTK.

Kit nerangake karo nomer akeh bindings kanggo perpustakaan ing basa C. Vala translator menehi support kanggo basa Genie, kang menehi Kapabilitas padha, nanging karo sintaks inspirasi saka basa pemrograman Python. Program kayata klien email Geary, cangkang grafis Budgie, program organisasi file foto lan video Shotwell, lan liya-liyane ditulis nganggo basa Vala. Basa kasebut aktif digunakake ing pangembangan distribusi OS SD.

Inovasi utama:

  • Dhukungan ditambahake kanggo delegasi kanthi jumlah parameter sing variabel;
  • Ditambahake profil LIBC, sing sinonim karo profil POSIX;
  • Generasi apik ing mode profil POSIX;
  • Ditambahake kemampuan kanggo ngumumake variabel sing bisa duwe nilai null kanthi inferensi jinis (var?);
  • Nambahake kemampuan kanggo ngumumake kelas sing dilarang kanggo warisan (disegel);
  • Added operator akses aman kanggo lapangan kelas sing bisa null (a.?b.?c);
  • Diijini initialization saka isi struktur kanggo null (const Foo [] BARS = {{"bar", 42}, null};);
  • Ngowahi ukuran () operasi dilarang kanggo susunan pancet;
  • Added output bebaya nalika nyoba kanggo matak telpon fungsi kanggo roso sepi ((void)not_void_func ();
  • Dibusak watesan ing jinis unsur GLib.Array;
  • Ndandani warisan kepemilikan "ora duweke var" ing statement foreach ();
  • Binding kanggo webkit2gtk-4.0 wis dianyari kanggo versi 2.33.3;
  • Binding menyang gstreamer wis dianyari versi 1.19.0+ git master;
  • Binding menyang gtk4 wis dianyari menyang versi 4.5.0~e681fdd9;
  • Binding kanggo gtk+-3.0 wis dianyari kanggo versi 3.24.29+f9fe28ce
  • Binding kanggo gio-2.0,glib-2.0 wis dianyari kanggo versi 2.69.0;
  • Kanggo linux, bindings menyang SocketCAN wis ditambahake;
  • Ndandani bindings kanggo glib-2.0, gio-2.0, gstreamer-rtp-1.0, javascriptcoregtk-4.0, gobject-2.0, pango, linux, gsl, rest-0.7, libusb, libusb-1.0, pixman-1, webkit2gtk-web- extension-4.0, x11, zlib, gnutls;
  • Dibusak gedit-2.20 lan webkit-1.0 bindings;
  • Bindings dianyari adhedhasar GIR;
  • Kemampuan kanggo mriksa kode C sing digawe wis ditambahake menyang sistem testing;
  • Girparser sing luwih apik, girwriter, valadoc, libvaladoc / girimporter;
  • Kesalahan akumulasi lan kekurangan saka macem-macem komponen compiler wis didandani.

Source: opennet.ru

Add a comment