Pelepasan penerjemah basa pamrograman Vala 0.54.0

Versi anyar tina penerjemah basa pamrograman Vala 0.54.0 parantos dileupaskeun. Basa Vala mangrupikeun basa pamrograman berorientasi obyék anu nyayogikeun sintaksis anu sami sareng C # atanapi Java. Kode Vala ditarjamahkeun kana program C, anu, kahareupna disusun ku kompiler C biasa kana file binér sareng dieksekusi dina laju aplikasi anu disusun kana kode obyék platform target. Kasebut nyaéta dimungkinkeun pikeun ngajalankeun program dina modeu Aksara. Basa ieu dikembangkeun dina naungan proyék GNOME. Gobject (Glib Object System) dipaké salaku modél obyék. Kode kompiler disebarkeun dina lisénsi LGPLv2.1.

Basa nu boga rojongan pikeun introspeksi, fungsi lambda, interfaces, delegasi jeung closures, sinyal jeung slot, iwal, sipat, jenis non-enol, tipe inferensi pikeun variabel lokal (var). Manajemén memori dumasar kana cacah rujukan. Perpustakaan programming generik libgee geus dimekarkeun pikeun basa, nu nyadiakeun kamampuhan pikeun nyieun kumpulan pikeun tipe data custom. Ieu dirojong pikeun enumerate elemen kempelan ngagunakeun pernyataan foreach. Program grafis diprogram nganggo perpustakaan grafik GTK.

Kit hadir kalawan angka nu gede ngarupakeun bindings ka perpustakaan dina basa C. Vala penerjemah ngarojong basa Genie, nu nyadiakeun fitur nu sarupa, tapi ku sintaksis diideuan ku basa programming Python. Program sapertos klien mail Geary, cangkang grafis Budgie, pangatur file poto sareng pidéo Shotwell, sareng anu sanésna ditulis dina basa Vala. Basana aktip dianggo dina pamekaran distribusi OS SD.

Inovasi utama:

  • Ditambahkeun dukungan pikeun delegasi kalayan jumlah variabel parameter;
  • Ditambahkeun profil LIBC, anu sinonim sareng profil POSIX;
  • Ningkatkeun generasi dina modeu profil POSIX;
  • Ditambahkeun kamampuhan pikeun ngadéklarasikeun variabel nu bisa boga nilai null kalawan tipe inferensi (var?);
  • Ditambahkeun kamampuhan pikeun nyatakeun kelas dilarang pikeun warisan (disegel);
  • Ditambahkeun operator aksés aman kana widang kelas nu bisa jadi null (a.?b.?c);
  • Hal ieu diwenangkeun initialize eusi struktur ka null (const Foo [] BARS = {{ "bar", 42}, null};);
  • Pikeun arrays konstan, operasi ukuran () dilarang;
  • Ditambahkeun gera nalika nyobian tuang panggero fungsi pikeun batal ((void) not_void_func ();
  • Dipiceun larangan dina jenis unsur GLib.Array;
  • Dibereskeun "unowned var" warisan kapamilikan dina foreach () pernyataan;
  • Ngariung kana webkit2gtk-4.0 diropéa kana versi 2.33.3;
  • Ngariung ka gstreamer diropéa kana versi 1.19.0+ git master;
  • Ngariung pikeun gtk4 diropéa kana versi 4.5.0~e681fdd9;
  • Ngariung ka gtk+-3.0 diropéa kana vérsi 3.24.29+f9fe28ce
  • Ngariung ka gio-2.0,glib-2.0 diropéa kana versi 2.69.0;
  • Bindings ditambahkeun kana SocketCAN pikeun linux;
  • Perbaikan dina bindings ka 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;
  • Dipiceun gedit-2.20 jeung webkit-1.0 bindings;
  • Bindings diropéa dumasar kana GIR;
  • Kamampuh mariksa C-kode nu dihasilkeun geus ditambahkeun kana sistem nguji;
  • ningkat girparser, girwriter, valadoc, libvaladoc / girimporter;
  • Ngalereskeun kasalahan akumulasi sareng kakurangan tina sababaraha komponén kompiler.

sumber: opennet.ru

Tambahkeun komentar