Vala 0.51.1 proqramlaşdırma dilinin tərcüməçisinin eksperimental versiyasının buraxılışı

Proqramlaşdırma dilinin tərcüməçisi Vala 0.51.1-in yeni versiyası buraxıldı. Vala dili C# və ya Java ilə oxşar sintaksisi təmin edən obyekt yönümlü proqramlaşdırma dilidir. Obyekt modeli kimi Gobject (Glib Object System) istifadə olunur. Yaddaşın idarə edilməsi istinadların hesablanması əsasında həyata keçirilir.

Bu dil introspeksiya, lambda funksiyaları, interfeyslər, nümayəndələr və qapaqlar, siqnallar və yuvalar, istisnalar, xassələr, qeyri-null tiplər, yerli dəyişənlər üçün tip nəticəsinə malikdir (var). Dil üçün ümumiləşdirilmiş proqramlaşdırma kitabxanası libgee hazırlanmışdır ki, bu da xüsusi məlumat növləri üçün kolleksiyalar yaratmaq imkanı verir. Foreach ifadəsindən istifadə edərək kolleksiya elementlərinin sadalanması dəstəklənir. Qrafik proqramların proqramlaşdırılması GTK+ qrafik kitabxanasından istifadə etməklə həyata keçirilir. Kit C dilində kitabxanalara çoxlu sayda bağlama ilə gəlir.

Vala proqramları C təqdimatına çevrilir və sonra standart C kompilyatoru tərəfindən tərtib edilir.Proqramları skript rejimində işlətmək mümkündür. Vala tərcüməçisi oxşar imkanları təmin edən, lakin Python proqramlaşdırma dilindən ilhamlanmış sintaksislə Genie dili üçün dəstək verir.

Vala dili GNOME layihəsinin himayəsi altında hazırlanmışdır. Vala, Geary e-poçt müştərisi, Budgie qrafik qabığı, Shotwell foto və video kolleksiyasının idarə edilməsi proqramı və başqaları kimi proqramları yazmaq üçün istifadə olunur. Vala, Elementary OS Linux paylanması komponentlərinin hazırlanmasında fəal şəkildə istifadə olunur.

Yeni versiyada:

  • İfadələrdə avtomatik tip daralması üçün əlavə dəstək; if (x Foo-dur){ x.SomeFooField // "x"-ni "Foo"-ya açıq şəkildə köçürməyə ehtiyac yoxdur }
  • Şablonlar üçün konstruktor zəncirlərini çağırmaq üçün əlavə dəstək;
  • İş vaxtında libvala versiyasının yoxlanılması əlavə edildi;
  • Qeyri-şəffaf kompakt siniflər üçün əlavə dəstək;
  • Konstruktorlarda massiv parametrləri üçün genişləndirilmiş dəstək;
  • girparser üçün virtual üsullar və ya siqnallarla dəstəklənməyən anonim nümayəndələrin işlənməsi əlavə edildi;
  • valadoc, libvaladoc və girwriter-da düzəldilmiş səhvlər;
  • SDL 2.x-ə bağlanma əlavə edildi, SDL 1.x bağlanması üçün dəstək dayandırıldı;
  • Enchant 2.x-ə bağlama əlavə edildi;
  • Massivləri aydın surətdə köçürərkən, Glib.Value-dan istifadə edərkən və ya Yığında ayrılmış strukturu yığına köçürərkən yaddaş sızması düzəldildi;
  • gdk-pixbuf-2.0 ilə əlaqə 2.42.3 versiyasına yeniləndi;
  • getopt_long() funksiyasının və bir sıra digər GNU funksiyalarının bağlanması əlavə edildi;
  • libunwind-generic-ə bağlanma əlavə edildi;
  • Cairo, gobject-2.0, pango, goocanvas-2.0, lənətlər, alsa, bzlib, sqlite3, libgvc, posix, gstreamer-1.0, gdk-3.0, gdk-x11-3.0, gtk+-3.0, gtk+-4, f, üçün sabit bağlamalar -2.0;
  • gio-2.0-a bağlama 2.67.3 versiyasına yeniləndi;
  • gobject-2.0 ilə əlaqə 2.68 versiyasına yeniləndi;
  • gstreamer-ə bağlama 1.19.0+ git master versiyasına yeniləndi;
  • gtk4-ə bağlanma 4.1.0+2712f536 versiyasına yeniləndi;
  • POSIX, GNU və BSD üçün müntəzəm ifadə API-yə bağlamalar əlavə edildi;
  • webkit2gtk-4.0 ilə əlaqə 2.31.1 versiyasına yeniləndi;
  • Kompilyatorda yığılmış səhvlər və çatışmazlıqlar aradan qaldırıldı.

Mənbə: opennet.ru

Добавить комментарий