Vala (język programowania)

Vala
Pojawienie się

2006

Paradygmat

wieloparadygmatowy: imperatywny, strukturalny, obiektowy

Typowanie

statyczne, silne

Aktualna wersja stabilna

0.56.3
(3 września 2022) [±]

Aktualna wersja testowa

0.45.3
(16 lipca 2019) [±]

Twórca

Jürg Billeter, Raffaele Sandrini

Licencja

LGPL

Platforma sprzętowa

wieloplatformowy

Platforma systemowa

wieloplatformowy

Strona internetowa

Valajęzyk programowania stworzony na potrzeby programistów pracujących w środowisku GNOME.

W obecnej implementacji podczas kompilacji kod jest tłumaczony na C i dopiero wówczas następuje kompilacja do kodu maszynowego. Pozwala ona również na proste korzystanie z bibliotek napisanych w języku C.

Cechy języka

  • Składnia przypomina C#
  • Wbudowany mechanizm sygnałów
  • Interfejsy
  • Obiektowość (nie pozwala na wielokrotne dziedziczenie)
  • Zarządzanie pamięcią (Zliczanie referencji, RAII)
  • Implementacja mechanizmu wtyczek na poziomie języka, poprzez specjalny typ
  • Wsparcie dla D-Bus (od wersji 0.1.3)
  • Wbudowany generator plików dla Autotools (od wersji 0.1.5)
  • Wsparcie dla Cygwina i MinGW (od wersji 0.1.5)
  • Wykorzystanie parsera C (od wersji 0.1.5)

Przykładowy kod

Przykład programu „Hello, world” napisanego w Vali:

void main () {
  print ("Hello World\n");
}

Przykład programu „Hello, world” napisanego obiektowo w języku Vala:

 using GLib;

 class Sample : Object {
         void run () {
                 stdout.printf ("Hello World\n");
         }

         static int main (string[] args) {
                 var sample = new Sample ();
                 sample.run ();
                 return 0;
         }
 }

Linki zewnętrzne