4 ms·
Can I ask what you like about Vala? Its wikipedia page is pretty sparse, and I'd never heard of it until this post.
by bartonfink 15y ago
Can I ask what you like about Vala? Its wikipedia page is pretty sparse, and I'd never heard of it until this post.
- scythe 15y agoIt's practical. It binds very well to old C code; consequently, it avoids all the library-binding problems that plague D and (iirc) Go. It does well enough at backwards-compatibility that it even comes with a nice Lua binding: http://live.gnome.org/Vala/LuaSample http://live.gnome.org/Vala/LuaSample Granted, Vala is what it is -- a language built for GLib -- but I think we've had enough languages try to take over the world. It's not unimpressive for a language just five years old and almost entirely community-developed to have a lot already being writen in it: http://live.gnome.org/Vala/Documentation#Projects_Developed_in_Vala http://live.gnome.org/Vala/Documentation#Projects_Developed_... including Ubuntu's new user interface. Since it only really depends on GLib and gtk, it's cross-platform enough for most purposes, though the majority of projects written thusfar in Vala have only targeted X-based desktops.
- adamdr 15y agoNote that D can call C directly too; all you have to do is add the function's prototype to an extern(C) block in your D code. You can cheat on the prototype too, for example, using void* rather than spell out a struct pointer type, if you're in a rush. There's also pragmas for adding the needed library to the compile command line. It's actually pretty easy to use. D's C++ binding support, on the other hand, leaves quite a bit to be desired... I always do extern C functions to bind them together.