*** Welcome to piglix ***

Vala (programming language)

Vala
Paradigm Multi-paradigm: imperative, structured, object-oriented
Developer Jürg Billeter, Raffaele Sandrini
First appeared 2006; 11 years ago (2006)
Stable release
0.36.2 / 25 April 2017; 0 days ago (2017-04-25)
Preview release
0.35.90 / 13 March 2017; 43 days ago (2017-03-13)
Typing discipline static, strong
OS Cross-platform all supported by GLib, but distributed as source code only.
License LGPL 2.1+
Filename extensions .vala, .vapi
Website
Influenced by
C, C++, C#, D, Java, Boo

Vala is an object-oriented programming language with a self-hosting compiler that generates C code and uses the GObject system.

Vala is syntactically similar to C# and includes several features such as: anonymous functions, signals, properties, generics, assisted memory management, exception handling, type inference, and foreach statements. Its developers Jürg Billeter and Raffaele Sandrini aim to bring these features to the plain C runtime with little overhead and no special runtime support by targeting the GObject object system. Rather than compiling directly to machine code or assembly language, it compiles to a lower level intermediate language. It source-to-source compiles to C, which is then compiled with a C compiler for a given platform, such as GCC.

For memory management, the GObject system provides reference counting. In C, a programmer must manually manage adding and removing references, but in Vala, managing such reference counts is automated if a programmer uses the language's built-in reference types rather than plain pointers.


...
Wikipedia

...