Re: it's scary



Miguel de Icaza wrote:
> > from Raph Levien:
> > "One of the focusses of GNOME has been simplicity. However, as the platform 
> > matures and there is pressure to add new features, it's growing more 
> > complex. Bonobo, for example, is now about 100k lines of code. For something 
> > that's supposed to be a simple component framework, that's quite a lot of 
> > code. That's going to make it much harder for people to grok the entire 
> > system, especially new people coming on board."
> 
> This is all wrong.
> 
>         1. Bonobo is about 35k lines of code.  
> 
>         2. The fact that things are complex internally is fully
>            irrelevant to the user perspective.

Miguel is right and I was wrong. I did a simple wc over the build dir,
which included a boatload of code autogenerated by ORBit from IDL. 35
kloc is a much better estimate.

> I do not think that GNOME's focus ever was simplicity.  
> 
> Raph is actually wrong in his above statement: for instance, the
> canvas and libart are extremely complex beasts on the inside, and most
> programmers wont understand then at first, still, users of the code
> find it very easy to use.
> 
> The same happens with Bonobo: internally it might have a number of
> complex things, but externally it is very simple.  Just like any other
> project: Gtk, the Linux kernel, gcc, etc.

I agree absolutely with the goal. Unfortunately, the degree to which
complexity can be hidden from the user varies from project to project,
and is often dependent on the quality of the documentation. The linux
kernel is generally very good at hiding complexity from the user,
unless of course you're trying to debug an incompatibility or
something (which is one of the reasons that Linus focusses so much on
_internal_ simplicity as well). Libart is less successful in this,
largely because the documentation is basically RTFS. I hope that when
Bonobo is complete, it will be easy for users, and I believe Miguel is
committed to this goal.

> Independently of that, the whole point of monikers is that they are
> powerful abstractions for locating objects.  A powerful concept never
> found before.

I would like to apologize to Miguel for getting my facts wrong in the
interview, and for picking on Bonobo specifically. I believe Bonobo is
a very important part of the Gnome infrastructure, and easily
justifies its weight. I still believe, however, that we need to
carefully watch the complexity of the platform as a whole, and make
sure it never becomes too intimidating to new developers.

Hope this clarifies things a bit,

Raph





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