Нашри тарҷумони забони барномасозии Vala 0.54.0

Версияи нави тарҷумони забони барномасозии Vala 0.54.0 бароварда шуд. Забони Vala як забони барномасозии ба объект нигаронидашуда мебошад, ки синтаксиси шабеҳро ба C# ё Java таъмин мекунад. Рамзи Vala ба барномаи C тарҷума карда мешавад, ки дар навбати худ аз ҷониби як компилятори муқаррарии C ба файли дуӣ тартиб дода мешавад ва бо суръати замима, ки ба коди объекти платформаи мақсаднок тартиб дода шудааст, иҷро карда мешавад. Барномаҳоро дар реҷаи скрипт иҷро кардан мумкин аст. Забон таҳти сарпарастии лоиҳаи GNOME таҳия шудааст. Gobject (System Object Glib) ҳамчун модели объект истифода мешавад. Рамзи компилятор тибқи иҷозатномаи LGPLv2.1 паҳн карда мешавад.

Забон барои интроспекция, функсияҳои ламбда, интерфейсҳо, вакилон ва пӯшиданҳо, сигналҳо ва слотҳо, истисноҳо, хосиятҳо, намудҳои ғайрисифр, хулосабарории навъи тағирёбандаҳои маҳаллӣ (var) дастгирӣ мекунад. Идоракунии хотира ба ҳисобкунии истинод асос ёфтааст. Китобхонаи умумии барномасозии libgee барои ин забон таҳия шудааст, ки қобилияти эҷоди коллексияҳоро барои намудҳои фармоишии додаҳо таъмин мекунад. Он барои номбар кардани унсурҳои ҷамъоварӣ бо истифода аз изҳороти foreach дастгирӣ карда мешавад. Барномаҳои графикӣ бо истифода аз китобхонаи графикии GTK барномарезӣ карда мешаванд.

Маҷмӯа бо шумораи зиёди пайвандҳо ба китобхонаҳо бо забони Си меояд.Тарҷумони Vala забони Genie-ро дастгирӣ мекунад, ки хусусиятҳои шабеҳро таъмин мекунад, аммо бо синтаксиси илҳомбахши забони барномасозии Python. Барномаҳо ба монанди муштарии почтаи Geary, қабати графикии Budgie, ташкилкунандаи файлҳои аксҳо ва видеоии Shotwell ва дигарон бо забони Vala навишта шудаанд. Забон дар таҳияи тақсимоти Elementary OS фаъолона истифода мешавад.

Навовариҳои асосӣ:

  • Дастгирии иловашуда барои вакилон бо шумораи тағйирёбандаи параметрҳо;
  • Илова профили LIBC, ки синоними профили POSIX аст;
  • Насли беҳтаршуда дар ҳолати профили POSIX;
  • Қобилияти эълон кардани тағирёбандаҳо, ки метавонанд бо хулосаи навъи (var?) арзиши нул дошта бошанд, илова карда шуд;
  • Имконияти эълон кардани синфҳои барои мерос манъшуда (мӯҳр) илова карда шуд;
  • Оператори дастрасии бехатар ба майдонҳои синф, ки метавонанд нул бошанд (a.?b.?c);
  • Иҷозат дода мешавад, ки мундариҷаи сохторҳоро ба null оғоз кунед (const Foo[] BARS = { { "bar", 42 }, null };);
  • Барои массивҳои доимӣ амалиёти resize() манъ аст;
  • Ҳангоми кӯшиши задани занги функсия ба ботил огоҳӣ илова карда шуд ((void)not_void_func();
  • Маҳдудият дар намуди элементҳои GLib.Array хориҷ карда шуд;
  • Собит мероси моликияти "var" дар foreach();
  • Ҳатмӣ ба webkit2gtk-4.0 ба версияи 2.33.3 навсозӣ шудааст;
  • Пайвастшавӣ ба gstreamer ба версияи 1.19.0+ git master навсозӣ шудааст;
  • Ҳатмӣ барои gtk4 ба версияи 4.5.0~e681fdd9 навсозӣ шудааст;
  • Пайвастшавӣ ба gtk+-3.0 ба версияи 3.24.29+f9fe28ce навсозӣ шудааст
  • Пайвастшавӣ ба gio-2.0, glib-2.0 ба версияи 2.69.0 навсозӣ шудааст;
  • Пайвастшавӣ ба SocketCAN барои Linux илова карда шуд;
  • Ислоҳҳо дар пайвандҳо ба 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, webkit2k-t васеъшавӣ-4.0, x11, zlib, gnutls;
  • Пайвасткуниҳои gedit-2.20 ва webkit-1.0 хориҷ карда шуданд;
  • Пайвасткуниҳои навшуда дар асоси GIR;
  • Имконияти санҷиши рамзи C-и тавлидшуда ба системаи санҷиш илова карда шудааст;
  • girparser беҳтар, girwriter, valadoc, libvaladoc/girimporter;
  • Хатогиҳои ҷамъшуда ва камбудиҳои ҷузъҳои гуногуни компилятор ислоҳ карда шуданд.

Манбаъ: opennet.ru

Илова Эзоҳ