Re: [GNOME VFS] gob inside gnome-vfs ...



On Wed, 2002-06-19 at 23:08, Ian McKellar wrote:
> On Wed, 2002-06-19 at 02:06, Michael Meeks wrote:
> > Hi Ian / Seth,
> > 
> > On Tue, 2002-06-18 at 19:31, Ian McKellar wrote:
> > > Because we want to use GObject in GnomeVFS now and GOB is a sensible way
> > > of writing GObjects (not the only sensible way, but one of them).
> > 
> > 	Hmm. Have you looked at what Nautilus does with GNOME_CLASS_BOILERPLATE
> > ? that and GNOME_CALL_PARENT substantially reduces the amount of GObject
> > boilerplate code you have to type - to the level that I would be
> > surprised if gob buys you anything - except perhaps writing your headers
> > and accessors for you. 
> 
> I haven't looked at that stuff. Does it take care of signals and
> inheritance and stuff for us too?
> > 
> > 	I can only believe that gob makes much sense, if you intend to
> > radically re-structure your API frequently - which I would view as a
> > pretty terrible idea (wrt. bin/API-compat :-). Is it possible to
> > consider choosing another sensible way ?
> 
> Well gob lets me think about what I'm designing rather than worry about
> what I'm typing. I can design the API to be easy to use rather than easy
> to implement because when I'm writing GObjects by hand I tend to worry
> about implementation complexity - because the more complex the
> implementation is the more mistakes I make.
> > 
> > > I asked Seth this too and aparently thats what George recommended. Are
> > > you complaining that we didn't add a dependancy? ;-)
> > 
> > 	No - in fact, I loathe gob - as you can probably tell :-) and keeping
> > it well out of the dependency stack is a great idea from my perspective.
> 
> Why do you loathe gob? I haven't heard any real arguments against it
> apart from "its a preprocessor" which seems like a bit of a red herring
> when we depend on both orbit-idl and the c preprocessor so heavilly in
> GNOME and gob does a better job of keeping out of my way than those two.
> > 
> > > I'm not how much discussion is really required for a dependancy thats 
> > > only there if you build from CVS. It wouldn't affect the development 
> > > platform or even packagers at all. But with the cvs include we don't 
> > > even change the build process for people who build from CVS. 
> > 
> > 	Well - the thing is that should I decide to re-write all of bonobo in
> > Pascal, with some built in P2C processing so we ship generated C, would
> > you start getting twitchy ? How about writing it in lisp and then
> > converting it ? I hope someone would wrestle me to the ground and batter
> > some sense into me :-)
> 
> If there were decent arguments I probably wouldn't be too upset. If it
> made the source easier to maintain, more readable and accessible to more
> developers then I would probably be in favour of it. I don't think (as
> you can see) that straight C is the best language for everything. I
> think that its lacking a lot if you want to do object oriented
> programming - such as objects for a start :) Gob lets us express the
> objects we want to write simply. They're not too complex, theyre
> > 
> > 	I understand one of the large factors in the sawfish / metacity
> > decision, was un-maintainability due to it being written in a foreign
> > language. Given that we have a very broad cross section of hackers
> > actually doing the maintenance on gnome-vfs, looking at the ChangeLog in
> > recent times I see: 
> > 
> > 	George Lebl, Jody Goldberg, Kristian Rietveld, Ian McKellar, 
> > 	Alex Gravely, Seth Nickell, Mark McLoughlin, myself, Anders 
> > 	Carlsson 

Incidentally, I also fixed about half the tests to work properly. But
whatever.

> "I don't know gob" isn't really an argument against GOB that I'll
> accept. Its really not hard to learn. I'm aware that theres a lot of
> fear and antagonism directed towards gob by much of the community, but
> technical xenophoboa isn't going to stop us adopting what we believe to
> be a technically better solution thats easy for other people to work
> with. As I said before, if you know GObject and you know Java you'll
> understand GOB after 15 minutes with the man page and an example file.

There's one thing I don't know about gob, and 2 things that are
annoying. Does it handle properties ? and 1) it regenerates the .h file
even though nothing has changed in it (ie. you changed the
implementation, not the "public" api, and the fact that you have to
write so much crap in the Makefile.am to handle the .gob files. It
should be possible to write a macro for that, certainly.

Cheers

-- 
/Bastien Nocera
http://hadess.net

Attachment: signature.asc
Description: This is a digitally signed message part



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