Re: Scaffold, plugins and language independence
Mikoyan <[email protected]>
| Newsgroups | gmane.comp.gnome.devtools |
|---|---|
| Message-ID | <[email protected]> |
On Mon, 2004-02-09 at 18:46 -0500, John (J5) Palmieri wrote: > On Mon, 2004-02-09 at 17:46, Mikoyan wrote: > > 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 ] > > 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. > > Python is tied closely to C. It is described as a C glue language. > Basically what would have to happen is that a GModule would need to be > created that embeds python and exposes an API for obtaining references > to other Scaffold elements (i.e. the ValueContainer API). Since Glib > and GTK are mostly wrapped all that is needed is to wrap the few > Scaffold interfaces. The wrappers take care of marshaling/demarshaling > the Glib types. If other plugins need to interact with the python > plugins it will do so through established interfaces (not sure if > GObject introspection will work). I still need to investigate pyGTK's > support GObject Interfaces but since the drag and drop interfaces are > supported I wouldn't see why it would be a problem with our plugin > system. Interesting. Certainly worth to take a look at. Once :-) [ snip ] > > 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. > > Easy to use. Corba C marshaling code I have heard is a pain in the > butt. True. But python does everything for you, a CORBA::sequence<> in python is just a standard list. In C you have to convert a GSList or something to a CORBA_sequence. While not really hard, it is no fun. In Python no convertions are required. Corba/Bonobo from python is really easy :-) (runtime stub/skell generation, implicit convertions, and all the joys of python). > > 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. > > I always said Bonobo myself but I really don't see any great loss. > If it turns out we want it it is easy enough to add. At least now we > start with the simpler solution and get things moving. Sure, that's great. Hope to see Scaffold maturing soon :-) Regards, Mikoyan