$ whois vala
Vala
first released in 2006 · by Jürg Billeter, Raffaele Sandrini
$ guessprog --inspect vala
- year
- 2006
- paradigm
- object oriented
- family
- c like
- memory
- reference counting
- binding
- static
- safety
- strong
VALA(7)
- AUTHORS
- Jürg Billeter, Raffaele Sandrini
- HISTORY
- Jürg Billeter and Raffaele Sandrini created Vala in 2006 to make developing GNOME applications easier. Writing GObject-based code in plain C requires a lot of boilerplate, so they designed a language with a C#-like syntax whose compiler translates it into C code using GLib and GObject. The result needs no extra runtime and can call C libraries directly, while offering classes, properties, signals, lambdas and reference counting.
- USAGE
- A niche language used almost exclusively in the GNOME and Linux desktop ecosystem, notably for many elementary OS and GNOME applications. Its community is small, and newer GNOME projects increasingly choose Rust instead.
- SEE ALSO
- Vala on Wikipedia ↗
class Greeter : Object {
public string name { get; construct; }
public signal void greeted (string message);
public Greeter (string name) {
Object (name: name);
}
public void greet () {
greeted ("Hello, %s!".printf (name));
}
}
void main () {
var g = new Greeter ("GNOME");
g.greeted.connect ((msg) => print ("%s\n", msg));
g.greet ();
}