"The Vala compiler, valac, compiles Vala code into C code, which
is then compiled with gcc into object code. A big issue when you
try to use a high-level language in a traditionally C environment
is language bindings: where they come from, how well maintained
they are, and whether there are bugs in them. Using a high-level
language can be more frustrating than just using C if the bindings
are not high quality. Vala includes tools that use GLib
introspection, which lets you generate a Vala binding for any GLib
object. The packages of Vala for Fedora 9 include bindings to
GLib2, GTK+2, SDL, SQLite, WebKit, libsoup, libglade-2, hildon,
hal, gstreamer, cairo, and dbus -- thus, many of the libraries you
would want for a GLib2/GTK+2 based desktop or handheld application
are already available to a Vala application. The project also
maintains a list of projects that provide Vala bindings.
"That takes care of using C code from Vala -- what about the
other way around? Vala can produce header files for GLib2 objects
so that folks who use C/C++ can easily use your objects. Any
language that can work from a C header file describing your GLib2
object should be able to use your Vala objects, so Perl and Python
should also be able to use objects implemented in Vala."
Some of the products that appear on this site are from companies from which QuinStreet receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. QuinStreet does not include all companies or all types of products available in the marketplace.