Re: Using vala in GNOME

Am Montag, den 30.06.2008, 10:31 +0100 schrieb Bastien Nocera:
> On Mon, 2008-06-30 at 01:51 +0000, Stef wrote:
> > Interesting. That's a very valid concern.
> > 
> > Although this is a decidedly different case. Vala is used to generate C
> > code for parts of seahorse. This C code is then checked into the
> > repository, and included in the tarballs, so that people can build it
> > without vala.
> Right. Some of us have already been there with gob. I don't usually
> think it's worth the pain, but it's your code. I'll start complaining
> when I have to fix bugs in that code.

Just that gob wasn't half as ambitious as Vala. gob took some kind of
minimum effort approach which lead to the effect that you were mixing
high-level gob and low-level C code all the time. This just felt flaky
and hackish.

Vala on the other hand tries to provide a complete user experience.
Programming with it feels much better than it ever did with gob. Having
written quite some C# and Java code I think, that writing Vala code
feels as natural as with those languages. 

While your rant has some justification: The Vala language had to be
modified too often in the past, so I really hope of 1.0 reaching good
shape. On the other hand all the binding changes seldomly were caused by
feature happyness, but by the poor quality of our C API (and the lack of
annotations): Functions in the style of g_object_get() and poor data
structures like GList just blur away too much information to
automatically generate reasonable bindings. Binding breaks usually were
caused by identifying just another unbindable function in the large API
stack we use. Fortunately also the  GObject Introspection Framework
seems to make good progress. Vala seems to plan to put its binding tools
around this essential framework.

So to summarize it: Let's hope, that Jürgen and his mates reach there
ambitious goals for Vala 1.0.

Mathias Hasselmann <mathias hasselmann gmx de>
Openismus GmbH:
Personal Site:

Attachment: signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]