Vala (linguagem de programação)

 Nota: Para outros significados, veja Vala.
Vala
Logo do Vala
Paradigma
Surgido em 2006 (17–18 anos)
Última versão 0.56.12 (19 de agosto de 2023; há 9 meses[1])
Criado por
  • Jürg Billeter
  • Raffaele Sandrini
Estilo de tipagem
  • estática
  • forte
Influenciada por
  • C
  • C++
  • C#
  • D
  • Java
  • Boo
Licença GNU LGPLv2.1+
Extensão do arquivo
  • .vala
  • .vapi
Página oficial vala.dev

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]

Exemplos

Programa Olá Mundo

Ver artigo principal: 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

Ver artigo principal: 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

Ver artigo principal: 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

Ver também

  • C (linguagem de programação)
  • GObject
  • GTK
  • Rust (linguagem de programação)

Referências

  1. «Tags - GNOME / vala». gitlab.gnome.org (em inglês). 19 de agosto de 2023. Consultado em 19 de agosto de 2023 
  2. «Projects/Vala/About - GNOME Wiki!» (em inglês). Consultado em 21 de setembro de 2017 
  3. «Projects/Vala/FAQ - GNOME Wiki!» (em inglês). Consultado em 21 de setembro de 2017 
  4. «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 
  5. a b c «Vala Tutorial». wiki.gnome.org (em inglês). Consultado em 24 de junho de 2020 

Ligações externas

  • Sítio oficial
  • «Valadoc.org» (em inglês). Documentação oficial 
  • v
  • d
  • e
Aplicativos principais
Logo do GNOME
Logo do GNOME
Aplicativos adicionais
Desenvolvimento
Escritório
Gráficos
Internet
Mídia
Jogos
Utilitários
Componentes
Interface
GNOME 3 & 4
GNOME 2
Outros
Base
Outros
freedesktop.org
Comunidade
Pessoas
  • Página de categoria Categoria
  • Commons Commons
  • v
  • d
  • e
Página de categoria Categoria · Lista Lista
  • Portal do Linux
  • Portal do software livre
  • Portal das tecnologias de informação
Ícone de esboço Este artigo sobre programação de computadores é um esboço. Você pode ajudar a Wikipédia expandindo-o.
  • v
  • d
  • e