eine neue Version des Compilers für die Programmiersprache . Der Vala-Code wird in ein C-Programm übersetzt, das wiederum in eine Binärdatei kompiliert wird und mit der Geschwindigkeit einer Anwendung ausgeführt wird, die in die objektorientierte Sprache der Zielplattform kompiliert wurde. Vala ist die am häufigsten verwendete Sprache in GNOME nach C (C, Vala, Python, C++) und die Hauptsprache in Elementary OS.
Die Syntax von Vala ähnelt sehr der von C# und implementiert vollständig einen objektorientierten Ansatz. Es werden Introspektion, Typableitung, Garbage Collection durch die automatische Einfügung von Destruktoraufrufen zur Compile-Zeit (ARC wie in Swift), Lambda-Funktionen, das Signal- und Slot-Konzept, das in Qt verwendet wird, aber auf Sprachebene implementiert ist, unterstützte String-Typen, generische Programmierung, Array-Slices, der foreach-Operator zur Enumeration von Collection-Elementen, Delegaten, Closures, Interfaces, Properties und Exceptions unterstützt.
Die auffälligsten :
- Schlüsselwort für die Syntax . Innerhalb von with ist die Erstellung lokaler Variablen unterstützt:
with (var x = y ())
Aufruf von Funktionen, die Werte zurückgeben:
with (y ())
Signalanschlüsse, strikter Modus und rekursiver Aufruf neuer „with“-Anweisungen.
- Schnitte — nun gelten Leerräume als das erste oder letzte Element der Kollektion.
array[begin:] => array[begin:array.length-1]
array[:end] => array[0:end]
array[:] => array[0:array.length-1] - Schrittweise Umstellung von C-Projekten auf Vala (wenn das Projekt zahlreiche Aufrufe von Vala-Code aus C und umgekehrt enthält).
- keine virtuellen Signale mit Funktionskörper.
- Vererbung des Namensraums des Nachkommen.
Quelle: opennet.ru
