Vala 0.1.3

Vala 0.1.3 is out. Tarballs are available from the GNOME FTP servers. There are a lot of new bindings from many contributors: D-Bus, GConf, libgnome, libgnomeui, Glade, libnotify, GnomeVFS, GtkSourceView, Panel Applet, GNOME Desktop Library, libsoup, libwnck, GtkMozEmbed, Poppler, Enchant, Hildon, SQLite, and curses. Many bugs have been fixed all over the place.

A noteworthy change is that the type system has been made more consistent by converting the reference-type structs in the bindings to classes. The [ReferenceType] attribute is gone, you can now declare all reference types as classes in bindings, even if they don’t derive from GObject. A side-effect of this change is that you now always have to specify the base class in your class declarations, e.g. use

using GLib;
public class Bar : Object { … }

to declare a class Bar which derives from GObject. The advantage is that you can be sure now that all structs have value-type semantics and all classes have reference-type semantics, no mixup anymore.

10 Responses to “Vala 0.1.3”

  1. Tristen says:

    The more I read about Vala, the more I think that it is to Glib/GObject what Objective-C is to NSFoundation. Is this a correct way to think about it?

  2. Simon Gray says:

    Does Vala support Unicode strings like C# and D?

  3. bersace says:

    Wow ! You rock !

    does this mean i could e.g. do a

    class MyParamSpec : ParamSpec {
    }

    To create a derivative of GParamSpec ? The same for Boxed type ?

    Would be so nice !

    Regards.

  4. juergbi says:

    @Tristen: I’m not really familiar with Objective-C but I guess you can look at it like that.

    @Simon: Yes, strings in Vala are UTF-8 encoded and the methods of the string class use the Unicode manipulation functions of GLib. A unichar represents a single Unicode character.

    @bersace: That won’t work yet to register a ParamSpec or Boxed type but that’s the idea. It’s definitively planned to support that for Boxed types but it should also be possible to add ParamSpec support.

  5. pinky says:

    Looks really promising. But there is one thing i’m really missing: good documentation.

    I know that hacking is more fun than writing documentation. But Vala has a great opportunity and it is quite small and young. So if you take care about documentation from the beginning it would be quite easy to keep Vala good documented and this is a key issue to make other people like it and use it.

    Software is more than just code, documentation is also a very important part of it. New code/bindings should only be accepted if it comes with good (API-)documentation. I think that’s the only way to make sure that Vala becomes a good language. Without (API-)documentation a programming language is just useless.

  6. juergbi says:

    @pinky: You’re right about that. We’re aware of the missing documentation and will try to focus on stabilization and writing documentation instead of features for the following releases.

  7. Simon Gray says:

    Thanks for answering my question. It’s great to hear that Vala has Unicode support. I’m looking forward to trying out Vala once documentation is there, don’t mind the fact that it is sort of Gnome-biased :-)

  8. Xav says:

    You forgot Gstreamer in the binding list (it wasn’t in 0.1.2).

    Xav

  9. rcares says:

    Please, get up the documetation for develop … :)

  10. juergbi says:

    @Xav: That’s right, the GStreamer bindings missed the tarball in 0.1.2, it was already available in SVN.

    @rcares: I’m working on it, the beginning of a language manual is already in SVN, includung an index file for Devhelp.