Vala is a new programming language that aims to bring modern programming language features to GNOME developers without imposing any additional runtime requirements and without using a different ABI compared to applications and libraries written in C. The syntax of Vala is similar to C#, modified to better fit the GObject type system.
valac, the Vala compiler, is a self-hosting compiler that translates Vala source code into C source and header files. It uses the GObject type system to create classes and interfaces declared in the Vala source code.
In this presentation I will explain how Vala differs from other programming languages and use examples to demonstrate interesting aspects of Vala such as D-Bus integration, asynchronous programming, non-null types, and interoperability with other languages using GObject introspection.