1. Introduction#
Vala is an object-oriented programming language with a self-hosting compiler that generates C code and uses the GObject type system.
Vala is designed to allow access to existing C libraries, especially GObject-based libraries, without the need for runtime bindings.
All that is needed to use a library with Vala is an API file, containing the class and method declarations in Vala syntax.
Vala currently comes with bindings for GLib and GTK+ and many others from the GNOME Platform.
Vala can also be used to create C libraries too.
The syntax of Vala is inspired by C# and Java, so if you have used either of those, you’ll seamlessly adapt to writing Vala code.
1.1. Why Vala?#
Comfortably write your code in an object-oriented way with high level abstractions, while having access to deep integrations with GNOME technolgies such as: GObject, GTK and more!
Vala compiles code down to blazingly fast, fully native binaries. You’re also able to reuse existing C Code in your Vala programs as well as generate C Code from Vala.
Vala is free and open-source software. It has a great community that contributes to the compiler and develops lots of tooling.
1.2. Who is this tutorial for?#
This tutorial is for anybody intrested in learning Vala. This tutorial is written with the assumption that the reader is a beginner at programming so we do make an effort to explain programming concepts and practices throught the tutorial.