Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

What about Vala? It deserves more attention, if you ask me.


Can I ask what you like about Vala? Its wikipedia page is pretty sparse, and I'd never heard of it until this post.


It'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

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_...

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.


Note 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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: