V

Vala (programming language)

Programming language

Vala is an object-oriented programming language with a self-hosting compiler that generates an intermediate representation in C source code and uses the GObject system. It is free and open-source software released with a GNU Lesser General Public License (LGPL) version 2.1+.

Nº Q1138939 ★

Common · Knowledge

Vala (programming language)

Programming language

Vala is an object-oriented programming language with a self-hosting compiler that generates an intermediate representation in C source code and uses the GObject system. It is free and open-source software released with a GNU Lesser General Public License (LGPL) version 2.1+.

From Wikipedia

Vala is an object-oriented programming language with a self-hosting compiler that generates an intermediate representation in C source code and uses the GObject system. It is free and open-source software released with a GNU Lesser General Public License (LGPL) version 2.1+. Vala is syntactically similar to C# and includes notable 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, wanted 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 transpiles to C, which is then compiled with a C compiler for a given platform, such as GNU Compiler Collection (GCC) or Clang. Using functions from native code libraries requires writing vapi files, defining the library interfaces. Writing these interface definitions is well-documented for C libraries. Bindings are already available for many libraries, including some not based on GObject such as the multimedia library Simple DirectMedia Layer (SDL) and OpenGL.

Text: Wikipédia, CC BY-SA 4.0. ·

Related cards

Open

…

Confirmation