gob2, the GObject builder, is a preprocessor that produces a .c and .h file for each input .gob. It adds some syntactic sugar to developing with the GObject model, allowing you to create new classes in a java-like syntax, like so:

requires 2.0.0

class My:Object from G:Object {
  public gint foo = 0;
  property INT foo
    ( nick="foo",
      blurb="just a sample property",
      minimum=0,
      maximum=100,
      default_value=0,
      link );

  virtual public gint
  get_foo( self ) {
    return( self->foo );
  }

  public void
  do_something( self ) {
    g_message("Doing Something");
  }
}

gob2 supports the GObject paradigm in adding syntactic constructs for derivation, properties, signals and virtual functions. The possibility to declare new interfaces is still missing; also, integration with autoconf/automake is still very annoying.