Executando verificação de segurança...
Em resposta a [Não disponível]
2

Extra 2

Caso seja desejado, é possível gerar executáveis instalando Vala.

Ei, mas a sintaxe de Vala é parecida com C# e não tem relação com o artigo.

Bem, o compilador também permite compilar arquivos na linguagem Genie onde, agora sim, a sintaxe é parecida com Python. Infelizmente a documentação é praticamente inexistente e eles não se importam. Um pouco de informação em espanhol pode ser encontrada em Genie doc.

Tanto Vala como Genie geram um programa em C que depois é compilados e gera um executável. Para coisas simples, basta verificar quais as bibliotecas (.dll) são necessários e copiar para a mesma pasta do executável gerado. Para coisas complexas, a distribuição também é mais complexa (teria que ver como é feita com o GIMP.

// compilar com: valac --pkg gtk+-3.0 arquivo.gs
[indent=4]
uses Gtk
 
init
    new MyApplication( "tabnews.my.genie.application",
        ApplicationFlags.FLAGS_NONE
        ).run( args )
 
class MyApplication:Gtk.Application

    lb_message: Gtk.Label
    cont: int = 0
    
    construct( application_id:string, flags:ApplicationFlags )
        if !id_is_valid( application_id )
            error( "application id %s is not valid", application_id )
        this.application_id = application_id
        this.flags = flags
 
    def override activate ()
        var window = new Gtk.ApplicationWindow( this )

        headerbar : Gtk.HeaderBar = new Gtk.HeaderBar()
        headerbar.show_close_button = true
        headerbar.set_title("GTK + Vala")
        headerbar.set_subtitle ("Utilizando Genie e headerbar")

        window.set_titlebar(headerbar)
        window.set_default_size (600, 300)

        bt_clickme : Gtk.Button = new Gtk.Button.with_label ("Clique-me")
        bt_clickme.clicked.connect(hello)
        headerbar.pack_start(bt_clickme)
 
        lb_message = new Gtk.Label ("")
        window.add (lb_message)
        window.show_all()
        
    def hello(btn:Button)
        cont++
        lb_message.label= "Número de cliques: " + cont.to_string()
        print("Hello World!")

Espero não ter tumultuado muito o artigo, mas o resultado do programa acima seria algo assim:

genie

Carregando publicação patrocinada...