Veröffentlichung des Programmiersprachenübersetzers Vala 0.56.0

Eine neue Version des Vala-Programmiersprachenübersetzers 0.56.0 wurde veröffentlicht. Vala ist eine objektorientierte Programmiersprache, die eine ähnliche Syntax wie C# oder Java bietet. Der Vala-Code wird in ein C-Programm übersetzt, das wiederum vom Standard-C-Compiler in eine Binärdatei kompiliert und mit der Geschwindigkeit einer in den Objektcode der Zielplattform kompilierten Anwendung ausgeführt wird. Es ist möglich, Programme im Skriptmodus auszuführen. Die Sprache wird unter der Schirmherrschaft des GNOME-Projekts entwickelt. Als Objektmodell wird Gobject (Glib Object System) verwendet. Der Compilercode wird unter der LGPLv2.1-Lizenz vertrieben.

Die Sprache unterstützt Introspektion, Lambda-Funktionen, Schnittstellen, Delegierte und Closures, Signale und Slots, Ausnahmen, Eigenschaften, nicht-Null-Typen und Typinferenz für lokale Variablen (var). Die Speicherverwaltung basiert auf Referenzzählung. Die Sprache verfügt über eine generische Programmierbibliothek, libgee, die die Möglichkeit bietet, Sammlungen für benutzerdefinierte Datentypen zu erstellen. Das Aufzählen von Sammlungselementen mit dem Foreach-Operator wird unterstützt. Die Programmierung grafischer Programme erfolgt mit der grafischen Bibliothek GTK.

Das Paket enthält eine große Anzahl von Bindungen an C-Bibliotheken. Der Vala-Übersetzer unterstützt die Sprache Genie, die ähnliche Funktionen bietet, jedoch eine von der Programmiersprache Python inspirierte Syntax aufweist. Die Sprache Vala wird zum Schreiben von Programmen wie dem E-Mail-Client Geary, der grafischen Shell Budgie, dem Foto- und Videodateiorganisationsprogramm Shotwell und anderen verwendet. Die Sprache wird aktiv bei der Entwicklung der Elementary OS-Distribution verwendet.

Wichtigste Neuerungen:

  • Unterstützung für asynchrone main()-Funktion hinzugefügt;
  • Unterstützung für verschachtelte Funktionen hinzugefügt;
  • Das Ausgabeformat von Warnungen und Fehlern während der Kompilierung wurde geändert;
  • Die Möglichkeit, Signale dynamisch aufzurufen, ist gegeben;
  • Unterstützung für partielle Klassen hinzugefügt – Klassen, deren Inhalt sich in mehreren Quelldateien befindet;
  • Möglichkeit hinzugefügt, Array-Längentypen für Bindungen anzugeben. Zuvor war nur der 32-Bit-Integer-Typ zulässig.
  • Unterstützung für den foreach-Operator für die Typen Glib.Sequence und Glib.Array hinzugefügt;
  • Neue Bindungen hinzugefügt: libsoup, linux-media;
  • Während des Portierungsprozesses wurde die Gnome-Desktop-Bibliothek in Gnome-Desktop-4, Gnome-RR-4 und Gnome-BG-4 aufgeteilt.
  • Die GNOME-Programmierhandbücher wurden um Vala-Beispiele erweitert.
  • Versionshinweise in Markdown hinzugefügt.
  • Aktualisierte Bindungen:
    • gtk4 bis Version 4.6.0+06ec4ec1;
    • gstreamer bis Version 1.21.0+ git master;
    • gio-2.0 auf Version 2.72;
    • glib-2.0 auf Version 2.72;
    • gobject-2.0 vor Version 2.72;
    • webkit2gtk-*.0 bis Version 2.35.1.

Source: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz und VPS-VDS-Servern 🔥 Kaufen Sie zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server | ProHoster