"Arch is the best!" w Vala
Ponieważ zbliża się sesja, trzeba zająć się czymś całkowicie z nią nie związanym. Wybór padł na naukę języka o nazwie Vala. Po przejrzeniu tutoriala, postanowiłem spróbować coś napisać. Pomyślałem, że skoro nie ma jeszcze portu "Arch is the best!", to najwyższy czas żeby powstał. Oto wersja w GTK+:
using GLib;
using Gtk;
public class Best : Window
{
construct
{
title = "Arch is the best!";
resize(200, 100);
create_widgets();
}
public void create_widgets()
{
destroy += Gtk.main_quit;
var vbox = new VBox(false, 1);
var label = new Label("Arch is the best!");
var button = new Button.with_label("Got it. Exit.");
button.clicked += b => { main_quit(); };
vbox.pack_start(label, true, true, 0);
vbox.pack_start(button, false, false, 0);
add(vbox);
}
public static void main (string[] args)
{
Gtk.init(ref args);
var best = new Best();
best.show_all();
Gtk.main();
}
}
Kompilacja do postaci binarnej:
$ valac --pkg gtk+-2.0 <nazwa pliku> -o runme
Żeby wygenerować kod w C, należy użyć polecenia:
$ valac -C --pkg gtk+-2.0 <nazwa pliku>
Porównując go z implementacją na przykład w Pythonie nie zauważymy większej różnicy w jego czytelności czy ilości. Kod według mnie wygląda schludnie i jest dość prosty.
Jednak przy dużych aplikacjach z całą pewnością doceni się kompilowaną wersję.