Re: Scaffold, plugins and language independence



On Mon, 2004-02-09 at 13:13, Christian Leutloff wrote:
> Hello,
> 
[cut some earlier postings]
> 
> Regarding the language independent execution of plug-ins it is worth to 
> have a look of the technology used by mono/.NET. E.G. using the type 
> system developed for .NET languages it is possible to directly call 
> functions written in different languages. The usage of the same type 
> primitives eleminates the need of marshalling and re-marshalling the 
> variables.
> 
> Bye
>    Christian

If you stick to the .NET platform, you can indeed "interoperate" between
different languages (interoperate = use/inherit classes written in
another language, in fact all languages are compiled to the same ilasm,
so you work with only one language), given that you have a .NET compiler
for the language (more precise: one that follows the common language
specifications). When you look at Mono, there are only a few such
compilers so far. 

Now look at what Scaffold is intended for: support software development,
mainly for Gnome and Gtk. We're talking about glib c, c++, python, java,
c#, ... then. For most of these languages, there is no .NET compiler for
Mono (not yet). So although .NET looks promising, it's not really
usefull as interoperating tool/medium in Scaffold I think.

I'm not sure if GModule/wrapping can provide a solution here either:
could all those languages be wrapped? If one wants to support all of
them, meaning development support in the form of tools (build, cvs,
debugging, syntax highlighting, intellisense, ...), I think the easiest
way is writing the language specific parts in their own language (by
means of plugins). Java and C# have both their API classes to reflect on
the intermediate languages files (class/dll/exe), using these
functionality is the easiest way to get the necessary information needed
for some tools (in special: class/method browser, intellisense, ... ).

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.

These are just my thoughts of a Gnome IDE, don't know if you agree. Any
comments on this?

Bart.

-- 
Bart Van Rompaey <bart perfectpc be>




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