Wydanie tłumacza języka programowania Vala 0.56.0

Została wydana nowa wersja tłumacza języka programowania Vala 0.56.0. Vala to obiektowy język programowania o składni podobnej do C# czy Java. Kod Vala zostaje przetłumaczony na program w języku C, który następnie zostaje skompilowany przez standardowy kompilator C do pliku binarnego i uruchomiony z szybkością aplikacji skompilowanej do kodu obiektowego platformy docelowej. Możliwe jest uruchamianie programów w trybie skryptowym. Język jest rozwijany pod auspicjami projektu GNOME. Jako model obiektowy używany jest Gobject (Glib Object System). Kod kompilatora rozpowszechniany jest na podstawie licencji LGPLv2.1.

Język obsługuje introspekcję, funkcje lambda, interfejsy, delegaty i domknięcia, sygnały i sloty, wyjątki, właściwości, typy różne od null, wnioskowanie typu dla zmiennych lokalnych (var). Zarządzanie pamięcią opiera się na zliczaniu odwołań. Język ten posiada generyczną bibliotekę programistyczną libgee, która umożliwia tworzenie kolekcji niestandardowych typów danych. Obsługiwane jest wyliczanie elementów kolekcji za pomocą operatora foreach. Programowanie programów graficznych odbywa się przy wykorzystaniu biblioteki graficznej GTK.

Pakiet zawiera dużą liczbę powiązań z bibliotekami C. Tłumacz Vala obsługuje język Genie, który zapewnia podobne możliwości, ale ze składnią inspirowaną językiem programowania Python. Język Vala jest używany do pisania programów takich jak klient poczty Geary, powłoka graficzna Budgie, program do organizowania plików zdjęć i filmów Shotwell i inne. Język ten jest aktywnie wykorzystywany w rozwoju dystrybucji Elementary OS.

Główne innowacje:

  • Dodano obsługę asynchronicznej funkcji main();
  • Dodano obsługę funkcji zagnieżdżonych;
  • Zmieniono format wyników ostrzeżeń i błędów podczas kompilacji;
  • Zapewniono możliwość dynamicznego wywoływania sygnałów;
  • Dodano obsługę klas częściowych – klas, których zawartość znajduje się w kilku plikach źródłowych;
  • Dodano możliwość określenia typów długości tablicy dla powiązań. Wcześniej dozwolony był tylko 32-bitowy typ całkowity;
  • Dodano obsługę operatora foreach dla typów Glib.Sequence i Glib.Array;
  • Dodano nowe powiązania libsoup, linux-media;
  • W trakcie przenoszenia biblioteka gnome-desktop została podzielona na gnome-desktop-4, gnome-rr-4 i gnome-bg-4.
  • Przewodniki programowania GNOME zostały rozszerzone o przykłady języka Vala.
  • Dodano informacje o wydaniu w Markdown.
  • Zaktualizowane powiązania:
    • gtk4 do wersji 4.6.0+06ec4ec1;
    • gstreamer do wersji 1.21.0+ git master;
    • gio-2.0 do wersji 2.72;
    • glib-2.0 do wersji 2.72;
    • gobject-2.0 przed wersją 2.72;
    • webkit2gtk-*.0 do wersji 2.35.1.

Źródło: opennet.ru

Kup niezawodny hosting dla stron z ochroną DDoS, serwery VPS VDS 🔥 Kup niezawodny hosting stron internetowych z ochroną DDoS, serwery VPS VDS | ProHoster