Vala is an open source, free and modern programming language and software project designed from the offset to bring new programming features to GNOME developers. It is a compiler for the GObject type system, allowing GNOME developers to create astonishing apps.

Features at a glance

Key features include interfaces, properties, signals, foreach, lambda expressions, type inference for local variables, generics, non-null types, assisted memory management, exception handling, as well as type modules a.k.a. plugins.

Effortlessly write complex object-oriented code

With the Vala compiler you, as a developer, will be able to effortlessly write complex object-oriented code while keeping the memory requirements low, and maintaining a standard C ABI and API.

Allows access to existing C libraries

The project has been designed in such a way that it allows access to existing C libraries, especially GObject-based libraries, without the need for runtime bindings.

It’s perfect for GTK+ and GNOME

Vala is a command-line compiler and programming languages. Developers who work with GTK+ and GNOME will be able to use Vala to write the code and compile it.

It’s influenced by C++, C, C#,Python, D and Java

The Vala programming language has been influenced by the well known and widely used C, C++, D, Python, C# and Java programming languages. It is a cross-platform software that can be easily ported on other operating systems.

It is supported by a wide range of IDE programs

Another interesting feature is the compatibility with various IDE (Integrated Development Environment) programs, including Anjuta, Valencia, Geany, Emacs, MonoDevelop, NetBeans, Val(a)IDE, Sublime Text, Vim, Vala Toys for Gedit, Euclide, RedCar, TextMate and Valama.

Availability and supported architectures

Vala is distributed only as a source archive. This means that the user must configure and compile the code prior to installation. Of course, it can also be easily installed on any GNU/Linux distribution from the default software repositories. Both 32-bit and 64-bit architectures are supported at this time.

Programming language GObject type system GNOME compiler Compiler Programming GObject GNOME