Vala ist eine objektorienterte Programmiersprache, die auf dem Objekt-Modell von GNOME basiert. Daher ist es besonders leicht, mit ihr z.B. GTK-Programme zu schreiben.
Syntaktisch erinnert Vala sehr an C# und bietet ähnlich starke Features wie sein großes Vorbild: Klassen, Generics, Signale (analog zu Events bei C#), Eigenschaften mit Getter-/Setter-Funktionalität, Reflection und einiges mehr.
Folgendes Beispiel (von der Wikipedia-Seite zu Vala) zeigt, wie ein GUI-basiertes “Hello World”-Programm in Vala aussieht:
using Gtk;
int main (string[] args) {
Gtk.init(ref args);
var window = new Window();
window.title = "Hello, World!";
window.border_width = 10;
window.window_position = WindowPosition.CENTER;
window.set_default_size(350, 70);
window.destroy.connect(Gtk.main_quit);
var label = new Label("Hello, World!");
window.add(label);
window.show_all();
Gtk.main();
return 0;
}
Kompilieren lässt es sich mit folgendem Befehl (Tipp: Unter Ubuntu muss evtl. das “libgtk2.0-dev”-Paket installiert werden):
valac --pkg=gtk+2.0 -o HelloWorld HelloWorld.vala
Der Vala-Compiler generiert dabei zunächst intern C-Code, der danach mit GCC kompiliert wird. Das Ergebnis ist ein Binary, das – abgesehen von im Programm verwendeten Libraries – neben Glib und GObject keine zusätzlichen Abhängigkeiten hat.
Weitere Vala-Beispielprogramme gibt es z.B. in der offiziellen Dokumentation.
Kritisch: Fehler in Elasticsearch mit JDK22 kann einen sofortigen Stop des Dienstes bewirken
Update Seit gestern Abend steht das Release 8.13.2 mit dem BugFix zur Verfügung. Kritischer Fehler Der Elasticsearch Dienst kann ohne Vorankündigung stoppen. Diese liegt an einem Fehler mit JDK 22. In der Regel setzt man Elasticsearch mit der "Bundled" Version ein....
0 Comments