Vydání překladače programovacího jazyka Vala 0.56.0

Byla vydána nová verze překladače programovacího jazyka Vala 0.56.0. Jazyk Vala je objektově orientovaný programovací jazyk, který poskytuje syntaxi podobnou C# nebo Javě. Vala kód je přeložen do C programu, který je zase zkompilován standardním C kompilátorem do binárního souboru a spuštěn rychlostí aplikace zkompilované do objektového kódu cílové platformy. Programy je možné spouštět v režimu skriptu. Jazyk je vyvíjen pod záštitou projektu GNOME. Jako objektový model se používá Gobject (Glib Object System). Kód kompilátoru je distribuován pod licencí LGPLv2.1.

Jazyk má podporu pro introspekci, lambda funkce, rozhraní, delegáty a uzávěry, signály a sloty, výjimky, vlastnosti, nenulové typy, odvození typu pro lokální proměnné (var). Správa paměti se provádí na základě počítání referencí. Pro jazyk byla vyvinuta zobecněná programovací knihovna libgee, která poskytuje možnost vytvářet kolekce pro vlastní datové typy. Výčet prvků kolekce pomocí příkazu foreach je podporován. Programování grafických programů se provádí pomocí grafické knihovny GTK.

Sada je dodávána s velkým množstvím vazeb na knihovny v jazyce C. Překladač Vala poskytuje podporu pro jazyk Genie, který poskytuje podobné možnosti, ale se syntaxí inspirovanou programovacím jazykem Python. Takové programy jako e-mailový klient Geary, grafický shell Budgie, program pro organizování souborů fotografií a videí Shotwell a další jsou napsány v jazyce Vala. Jazyk se aktivně používá při vývoji distribuce Elementary OS.

Hlavní inovace:

  • Přidána podpora pro asynchronní funkci main();
  • Přidána podpora pro vnořené funkce;
  • Formát pro zobrazování varování a chyb během kompilace byl změněn;
  • Je poskytována schopnost dynamicky vyvolávat signály;
  • Přidána podpora pro dílčí třídy - třídy, jejichž obsah je umístěn v několika zdrojových souborech;
  • Pro vazby byla přidána možnost určit typy délky pole. Dříve byl povolen pouze typ 32bitové celé číslo;
  • Přidána podpora pro operátor foreach pro typy Glib.Sequence a Glib.Array;
  • Přidány nové vazby libsoup, linux-media;
  • Během procesu portování byla knihovna gnome-desktop rozdělena na gnome-desktop-4, gnome-rr-4 a gnome-bg-4.
  • Programovací manuály GNOME jsou rozšířeny o příklady ve Vala.
  • Přidány poznámky k verzi ve značkovacím jazyce Markdown.
  • Aktualizované vazby:
    • gtk4 až do verze 4.6.0+06ec4ec1;
    • gstreamer do verze 1.21.0+ git master;
    • gio-2.0 až do verze 2.72;
    • glib-2.0 před verzí 2.72;
    • gobject-2.0 před verzí 2.72;
    • webkit2gtk-*.0 před verzí 2.35.1.

Zdroj: opennet.ru

Přidat komentář