Vala é uma linguagem de programação orientada a objetos, com sintaxe inspirada em C#. Com um compilador auto-hospedado que gera código em C que usa GObject, foi criada para ser usada no desenvolvimento de aplicações para GNOME, e posteriormente foi adotada pelo elementary OS.

Exemplos Programa Olá Mundo

void main () { print ("Olá, Mundo!\n"); }

ou

class Hello : Object { void greeting () { stdout.printf ("Olá, Mundo!\n");

public static void main () { var hello = new Hello (); hello.greeting ();

Pode ser compilado e executado com o seguinte comando:

$ valac hello.vala $ ./hello

Algoritmo de Trabb Pardo-Knuth

using Math;

double f (double t) { return sqrt (fabs (t)) + 5 * pow (t, 3); }

void main () { double a; for (var i = 0; i < a.length; i++) stdin.scanf ("%lf", &a[i]);

for (var i = a.length - 1; i >= 0; i--) { var y = f (a[i]); if (y > 400) print ("%d TOO LARGE\n", i); else print ("%d %.16g\n", i, y);

Pode ser compilado e executado com o seguinte comando:

$ valac -X -lm tpk.vala $ ./tpk

-X -lm instrui o linker a juntar o módulo de matemática (libm).

GTK

public class HelloApp : Gtk.Application { public HelloApp () { // Cria um novo aplicativo Object (application_id: "com.example.Hello");

// Quando o aplicativo for ativado public override void activate () { // Cria uma nova janela var window = new Gtk.ApplicationWindow (this);

// Cria um novo botão que fecha a janela ao ser clicado var button = new Gtk.Button.with_label ("Olá, Mundo!"); button.clicked.connect (window.close);

// Adiciona o botão e apresenta a janela window.child = button; window.present ();

public static int main (string[] args) { var app = new HelloApp (); return app.run (args);

Pode ser compilado e executado com o seguinte comando:

$ valac --pkg gtk4 hello-gtk.vala $ ./hello-gtk

Ver também C (linguagem de programação) GObject GTK Rust (linguagem de programação)

Ligações externas

Categoria:Linguagens de programação orientadas a objetos Categoria:Linguagens de programação criadas em 2006 Categoria:Software livre multiplataforma