Vala (linguagem de programação)
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,[2][3] e posteriormente foi adotada pelo elementary OS.[4]
| Vala | |
|---|---|
![]() | |
| Paradigma | |
| Surgido em | 2006 (17–18 anos) |
| Última versão | 0.56.12 (19 de agosto de 2023[1]) |
| Criado por |
|
| Estilo de tipagem |
|
| Influenciada por | |
| Licença: | GNU LGPLv2.1+ |
| Extensão do arquivo: |
|
| Página oficial | vala |
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:[5]
$ 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[11];
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:[5]
$ valac -X -lm tpk.vala
$ ./tpk
-X -lm instrui o linker a juntar o módulo de matemática (libm).
GTK
int main (string[] args) {
// Cria um novo aplicativo
var app = new Gtk.Application ("com.example.Hello",
ApplicationFlags.FLAGS_NONE);
// Quando o aplicativo for ativado
app.activate.connect (() => {
// Cria uma nova janela
var window = new Gtk.ApplicationWindow (app);
// Cria um novo botão
var button = new Gtk.Button.with_label ("Olá, Mundo!");
// Quando o botão for clicado, fecha a janela
button.clicked.connect (window.close);
window.child = button;
window.present ();
});
return app.run (args);
}
Pode ser compilado e executado com o seguinte comando:[5]
$ valac --pkg gtk4 hello-gtk.vala
$ ./hello-gtk
Referências
- «Tags - GNOME / vala». gitlab.gnome.org (em inglês). 19 de agosto de 2023. Consultado em 19 de agosto de 2023
- «Projects/Vala/About - GNOME Wiki!» (em inglês). Consultado em 21 de setembro de 2017
- «Projects/Vala/FAQ - GNOME Wiki!» (em inglês). Consultado em 21 de setembro de 2017
- «Why we write elementary apps in Vala». blog.elementary.io (em inglês). 12 de maio de 2014. Consultado em 25 de novembro de 2020
- «Vala Tutorial». wiki.gnome.org (em inglês). Consultado em 24 de junho de 2020
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.

