Veröffentlichung des Compilers für die Programmiersprache Vala 0.56.0

Die neue Version des Vala-Compilers 0.56.0 ist erschienen. Vala ist eine objektorientierte Programmiersprache, die eine syntaxähnliche Struktur wie C# oder Java bietet. Vala-Code wird in C-Code übersetzt, der dann mit einem standardmäßigen C-Compiler in eine ausführbare Datei kompiliert wird, wodurch er mit der Geschwindigkeit einer Anwendung läuft, die in das Objektformat der Zielplattform kompiliert wurde. Zudem besteht die Möglichkeit, Programme im Skriptmodus auszuführen. Die Sprache wird im Rahmen des GNOME-Projekts weiterentwickelt und nutzt GObject (Glib Object System) als objektorientiertes Modell. Der Compiler-Code wird unter der LGPLv2.1-Lizenz vertrieben.

Die Sprache unterstützt Introspektion, Lambda-Funktionen, Schnittstellen, Delegaten und Closures, Signale und Slots, Ausnahmen, Eigenschaften, Nullable-Typen sowie Typinferenz für lokale Variablen (var). Das Speichermanagement erfolgt auf Basis von Referenzzählung. Für die Sprache wurde die generische Programmierbibliothek libgee entwickelt, die die Erstellung von Sammlungen für benutzerdefinierte Datentypen ermöglicht. Die Enumeration von Elementen in Sammlungen wird mithilfe des foreach-Operators unterstützt. Das Programmieren grafischer Anwendungen erfolgt über die Grafikbibliothek GTK.

Das Paket enthält zahlreiche Bindings zu C-Bibliotheken. Der Vala-Compiler unterstützt die Genie-Sprache, die ähnliche Möglichkeiten bietet, jedoch mit einer vom Python-Programmierstil inspirierten Syntax. Programme wie der E-Mail-Client Geary, die grafische Schnittstelle Budgie, das Programm zur Organisation von Foto- und Video-Dateien Shotwell und andere wurden in Vala geschrieben. Die Sprache wird aktiv bei der Entwicklung der Distribution Elementary OS eingesetzt.

Hauptneuheiten:

  • Die Unterstützung für die asynchrone Funktion main() wurde hinzugefügt.
  • Unterstützung für verschachtelte Funktionen hinzugefügt;
  • Format von Warn- und Fehlermeldungen bei der Kompilierung geändert;
  • Dynamische Signalaufrufe ermöglicht;
  • Unterstützung für partielle Klassen hinzugefügt – Klassen, deren Inhalt in mehreren Quell-Dateien gespeichert ist;
  • Für Bindings die Möglichkeit hinzugefügt, die Array-Längen-Typen zu definieren. Früher war nur 32-Bit-Ganzzahltyp erlaubt;
  • Unterstützung für den foreach-Operator für die Typen Glib.Sequence und Glib.Array hinzugefügt;
  • Neue Bindings für libsoup, linux-media hinzugefügt;
  • Beim Portieren wurde die Bibliothek gnome-desktop in gnome-desktop-4, gnome-rr-4 und gnome-bg-4 unterteilt.
  • Leitfäden zur Programmierung von GNOME mit Beispielen in Vala erweitert.
  • Release Notes in Markdown-Markup-Sprache hinzugefügt.
  • Bindings aktualisiert:
    • gtk4 auf Version 4.6.0+06ec4ec1;
    • gstreamer auf Version 1.21.0+ git master;
    • gio-2.0 auf Version 2.72;
    • glib-2.0 auf Version 2.72;
    • gobject-2.0 auf Version 2.72;
    • webkit2gtk-*.0 auf Version 2.35.1.

Quelle: opennet.ru

Купить надежный хостинг для сайтов с защитой от DDoS, VPS VDS серверы 🔥 Купить надежный хостинг для сайтов с защитой от DDoS, VPS VDS серверы | ProHoster