Vala программалоо тили котормочу 0.56.0 чыгаруу

Vala 0.56.0 программалоо тилинин котормочусунун жаңы версиясы чыкты. Vala тили C# же Javaга окшош синтаксисти камсыз кылган объектиге багытталган программалоо тили. Vala коду C программасына которулат, ал өз кезегинде стандарттуу C компилятору тарабынан бинардык файлга түзүлөт жана максаттуу платформанын объекттик кодуна компиляцияланган тиркеменин ылдамдыгы менен аткарылат. Программаларды скрипт режиминде иштетүүгө болот. Бул тил GNOME долбоорунун алкагында иштелип жатат. Объект модели катары Gobject (Glib Object System) колдонулат. Компилятор коду LGPLv2.1 лицензиясы боюнча таратылат.

Бул тилде интроспекция, лямбда функциялары, интерфейстер, делегаттар жана жабуулар, сигналдар жана уячалар, өзгөчөлүктөр, касиеттер, нөл эмес типтер, локалдык өзгөрмөлөр үчүн тип чыгаруу (var) бар. Эстутум башкаруу шилтеме эсептөөнүн негизинде жүзөгө ашырылат. Тил үчүн жалпыланган программалоо китепканасы libgee иштелип чыккан, ал ыңгайлаштырылган маалымат түрлөрү үчүн коллекцияларды түзүүгө мүмкүнчүлүк берет. Foreach операторун колдонуу менен чогултуу элементтерин санап чыгуу колдоого алынат. Графикалык программаларды программалоо GTK графикалык китепканасын колдонуу менен ишке ашырылат.

Комплект Си тилиндеги китепканаларга көптөгөн байланыштарды камтыйт.Vala котормочу окшош мүмкүнчүлүктөрдү камсыз кылган Genie тилин колдоону камсыз кылат, бирок Python программалоо тилинен шыктанган синтаксис менен. Geary электрондук почта кардары, Budgie графикалык кабыкчасы, Shotwell фото жана видео файлдарды уюштуруу программасы жана башкалар Vala тилинде жазылган. Бул тил Elementary OS бөлүштүрүүнү иштеп чыгууда активдүү колдонулат.

Негизги инновациялар:

  • Асинхрондук main() функциясы үчүн кошумча колдоо;
  • Уюшкан функциялар үчүн кошумча колдоо;
  • Компиляция учурундагы эскертүүлөрдү жана каталарды көрсөтүү форматы өзгөртүлдү;
  • сигналдарды динамикалык чакыруу мүмкүнчүлүгү каралган;
  • Жарым-жартылай класстар үчүн кошумча колдоо - мазмуну бир нече баштапкы файлдарда жайгашкан класстар;
  • Байланыш үчүн массивдин узундугунун түрлөрүн көрсөтүү мүмкүнчүлүгү кошулду. Буга чейин 32 биттик бүтүн сан түрүнө гана уруксат берилген;
  • Glib.Sequence жана Glib.Array түрлөрү үчүн foreach операторуна колдоо кошулду;
  • libsoup, linux-media жаңы байланыштары кошулду;
  • Көчүрүү процессинин жүрүшүндө gnome-desktop китепканасы gnome-desktop-4, gnome-rr-4 жана gnome-bg-4 болуп бөлүнгөн.
  • GNOME программалоо колдонмолору Valaдагы мисалдар менен кеңейтилген.
  • Markdown белгилөө тилиндеги релиз эскертүүлөрү кошулду.
  • Жаңыртылган байланыштар:
    • gtk4 4.6.0+06ec4ec1 версиясына чейин;
    • gstreamer 1.21.0+ версиясына чейин git master;
    • gio-2.0 2.72 версиясына чейин;
    • glib-2.0 2.72 версиясына чейин;
    • gobject-2.0 2.72 версиясына чейин;
    • webkit2gtk-*.0 2.35.1 версиясына чейин.

Source: opennet.ru

Комментарий кошуу