Vala dasturlash tili tarjimonining yangi versiyasi, 0.51.1 versiyasi chiqarildi. Vala - bu C# yoki Java ga o'xshash sintaksisga ega obyektga yo'naltirilgan dasturlash tili. U o'zining obyekt modeli sifatida Gobject (Glib Object System) dan foydalanadi. Xotirani boshqarish ma'lumotnomalar asosida hisoblanadi.
Til o'z-o'zini tahlil qilish, lambda funktsiyalari, interfeyslar, delegatlar va yopilishlar, signallar va uyalar, istisnolar, xususiyatlar, null bo'lmagan turlar va mahalliy o'zgaruvchilar uchun tur xulosalarini (var) qo'llab-quvvatlaydi. Til foydalanuvchi tomonidan belgilangan ma'lumotlar turlari uchun to'plamlar yaratish imkonini beruvchi libgee umumiy dasturlash kutubxonasini o'z ichiga oladi. To'plam elementlarini sanash foreach operatori yordamida qo'llab-quvvatlanadi. Grafik dasturlash GTK+ grafik kutubxonasi yordamida amalga oshiriladi. C kutubxonalariga ko'p sonli bog'lanishlar kiritilgan.
Vala dasturlari C tiliga tarjima qilinadi va keyin o'rnatilgan C kompilyatori yordamida kompilyatsiya qilinadi. Dasturlar skript rejimida ishga tushirilishi mumkin. Vala kompilyatori shunga o'xshash imkoniyatlarni taklif qiluvchi, ammo Python dasturlash tilidan ilhomlangan sintaksisga ega Genie tilini qo'llab-quvvatlaydi.
Π―Π·ΡΠΊ Vala ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΡΡΡ ΠΏΠΎΠ΄ ΡΠ³ΠΈΠ΄ΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡΠ° GNOME. ΠΠ° Vala Π½Π°ΠΏΠΈΡΠ°Π½Ρ ΡΠ°ΠΊΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠ°ΠΊ ΠΏΠΎΡΡΠΎΠ²ΡΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ Geary, Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° Budgie, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠ΅ΠΉ ΡΠΎΡΠΎ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ Shotwell ΠΈ Π΄ΡΡΠ³ΠΈΠ΅. Vala Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Linux-Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π° Elementary OS.
Yangi versiyada:
- Ifodalarda avtomatik turni toraytirishni qo'llab-quvvatlash qo'shildi; if (x Foo){ x.SomeFooField // "x" ni "Foo" ga aniq ravishda yuborish shart emas }
- Shablonlar uchun konstruktor zanjirlarini chaqirish uchun qo'llab-quvvatlash qo'shildi;
- Bajarish paytida libvala versiyasini tekshirish qo'shildi;
- Shaffof bo'lmagan ixcham sinflar uchun qo'llab-quvvatlash qo'shildi;
- Konstruktorlarda massiv parametrlari uchun kengaytirilgan qo'llab-quvvatlash;
- Girparser endi virtual usullar yoki signallar tomonidan qo'llab-quvvatlanmaydigan anonim delegatlarni qayta ishlaydi;
- valadoc, libvaladoc va girwriterdagi xatolar tuzatildi;
- SDL 2.x ga bog'lash qo'shildi, SDL 1.x bog'lanishini qo'llab-quvvatlash to'xtatildi;
- Enchant 2.x ga bog'lanish qo'shildi;
- Glib.Value yordamida massivlarni aniq nusxalash va uyumga ajratilgan tuzilmani stakka ko'chirishda xotira oqishi tuzatildi;
- gdk-pixbuf-2.0 ga ulanish 2.42.3 versiyasiga yangilandi;
- getopt_long() funktsiyasi va boshqa bir qancha GNU funktsiyalari uchun bog'lanish qo'shildi;
- libunwind-generic ga bog'lanish qo'shildi;
- cairo, gobject-2.0, pango, goocanvas-2.0, cures, alsa, bzlib, sqlite3, libgvc, posix, gstreamer-1.0, gdk-3.0, gdk-x11-3.0, gtk+-3.0, gtk4, fuse, libxml-2.0 ga bog'lanishlar tuzatildi;
- gio-2.0 ga ulanish 2.67.3 versiyasiga yangilandi;
- gobject-2.0 ga ulanish 2.68 versiyasiga yangilandi;
- Gstreamer-ga ulanish git masterning 1.19.0+ versiyasiga yangilandi;
- gtk4 ga ulanish 4.1.0+2712f536 versiyasiga yangilandi;
- POSIX, GNU va BSD uchun oddiy ifoda API'siga bog'lanishlar qo'shildi;
- webkit2gtk-4.0 ga ulanish 2.31.1 versiyasiga yangilandi;
- Kompilyatorning to'plangan xatolari va kamchiliklari tuzatildi.
Manba: opennet.ru
