Блог о математике, программировании, алгоритмах. И немного о работе операционной системы Linux.

суббота, 19 марта 2011 г.

Язык Vala

Давненько я сюда ничего не писал. Поэтому расскажу о том, как опробовал новый для меня язык программирования Vala. Язык Vala работает с системой объектов GLib и создан для разработки прикладных и системных приложений для GNOME. Являясь языком высокого уровня (по сравнению с C :), и будучи компилируемым в C код, использующий стандартный GLib, он одновременно содержит бинарную совместимость с другими приложениями для GNOME и «удобства» таких языков как C# или Java.
Для того, чтобы установить компилятор языка в мою Ubuntu 10.10, я сказал:
sudo apt-get install valac
Затем, я создал файл first.vala и открыл его редактором Geany. Так как я не писал ещё на этом языке, мне нужен был экзампл, который я радостно слямзил из википедии. Надо отметить, что Geany сама поняла, каким компилятором ей нужно собирать этот текст, так что простого нажатия F9 хватило, чтобы я получил рабочее приложение. Постить сюда код из википедии негоже, поэтому я несколько видоизменил исходную программу. Теперь она считает 10-ое число Фибоначчи (хотел проверить есть ли рекурсия). Полезно, не правда ли? :-)
using GLib;
 
class Sample : Object 
{
    static int main (string[] args)
    {
        var my_sample = new MySamlpe ();
        var i = my_sample.fibonacci(10);
        stdout.printf("I is %d\n", i);
        return 0;
    }
}

class MySamlpe : Object
{
    public int fibonacci(int i)
    {
        if (i < 0) {
            stdout.printf ("I cann't! I just cann't");
            return -1;
        }
        if (i == 1) {
            return 1;
        }
        return (i + fibonacci(i - 1));
    }
}
Скомпилировал и запустил:
numlock@oligochaeta:~/temp/exp$ ./first 
I is 55
Вуаля!
На все вместе ушло около 20 минут и ни в какие туториалы я не заглядывал. Так что все очень просто. Кстати, среда Unity, которая будет средой по умолчанию в Ubuntu 11.04 частично написана на Vala.