Vala is a 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. It uses the GObject type system to create classes and interfaces declared in the Vala source code.