Re: Scaffold, plugins and language independence

Mikoyan <[email protected]>
Newsgroups gmane.comp.gnome.devtools
Message-ID <[email protected]>
On Mon, 2004-02-09 at 15:51 -0500, John (J5) Palmieri wrote:
> On Mon, 2004-02-09 at 14:51, Bart Van Rompaey wrote:
> > On Mon, 2004-02-09 at 13:13, Christian Leutloff wrote:

[ .. snip ... ]

> > So I thought communication between plugins in those different languages
> > and the "core" could be done using Corba/Bonobo, since all those
> > languages have libraries for this. The core can be further developed in
> > glib c, and can keep using gdl, gnomebuild, ... . This way, you can
> > provide the largest possible freedom to the plugin writer too.
> 
> We dropped Corba/Bonobo for the simplicity of developing with GModules. 
> The old plugin system relied heavily on Corba/Bonobo which turned a lot
> of plugin writers off.  Interfaces may later be wrapped in Corba/Bonobo
> bindings but for now a nice C interface with Python bindings seems like
> the path of least resistance.  Even the Glade-3 developers have frowned
> on using Bonobo and instead wanted a modularized C API.  

I do not pretend to have *the knowlegde*, so I may be wrong with I'm
saying here. But GModule is only usable for C and C++ (using export C)
plugins. I think GModule and GInterfaces are indeed easier for the
plugin writer if the plugin writer is a C/C++ developer.

I still do not see how a python plugin would be loaded by scaffold... It
may be possible, but I don't know one. Please enlighten me. The only way
I see, is a C plugin invoking a python program. Suboptimal, to say the
least.

Corba/Bonobo is *not* hard. Their is just a sheer lack of documentation.
The biggest problem of GNOME. I could start a preach here, but I won't.
That in combination, with a sheer lack of expertise among the gnome
community, makes bonobo hard. Let's change that :-)

But it is a fact that Corba/Bonobo from python is quite easy. Actually,
i think it's even beautiful. (think: automatic stub and skell generation
at runtime when loading the idl, sigh, do I sound biased?). I don't see
why it shouldn't be used.

I've used the gedit component in one of my thesis related prototypes,
using bonobo in python. If the thing was probably documented, I had
written that code in no time. (Take that almost litterly). 
As Bart once said: "if something is probalby documented, it does need to
scare anyone". :-)

Even in C things like BonoboListener and BonoboEventsource, a possible
system for communciation between components, cannot be called hard. But
as I said, GModule would fit beter here, I guess.

Only my 2 €-cents of course :-)

Mikoyan
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.