2009-09-20

Frustration of Choice

I find myself frustrated by having too many inadequate choices at my disposal. I want to write a little GUI application with GTK+. I've already been writing a lot in C, and I'd like to write something in a higher level language. I was looking at Vala again, but I'd really like it to be out of the alpha stage and start acting more like a mature language in the documentation (I hope I don't have to look at .vapi files in my filesystem anymore) and editor support (intellisense support would make many headaches go away). I don't think these conveniences are fundamental or necessary, but they are convenient, and sometimes I just want to write something quickly.

I've already written a few things with Python recently and I don't really like Python. Something to do with a Global Interpreter Lock whenever I try to do things in parallel...

Java? Java GNOME doesn't seem to support GtkBuilder c(oh, SO close!). Java would actually be preferred. I'm sad that Java didn't take off as more of a desktop language. Something to do with a cumbersom JVM and closed source once upon a time...

Mono? Ugh, I am not fond of C# due to something irrational. Too bad community won't build behind Vala like community does behind Mono. I think GtkBuilder only exists on Gtk# trunk, though, and I don't want to deal with that hassle.

I suppose I really just want to use Vala, but I'm concerned that it will never get much support behind it (a logical argument to withhold my own, I am sure), that the community around it isn't taking it seriously as a good next language for GNOME, or at least that GNOME isn't. That they're too inconsistent in how they implement things. (A recent example saw code that used "new Gtk.Button.with_label()" and another had something like "GLib.something.new()".) They also fail to bless or at least judge any of the developer tools available for aiding Vala development. Their list of IDE support offers no commentary what so ever. So, I wasted a few hours trying them all! None of them did what I wanted, so back to emacs :)