Re: Scaffold, plugins and language independence

Bart Van Rompaey <[email protected]>
Newsgroups gmane.comp.gnome.devtools
Message-ID <[email protected]>
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 <[email protected]>
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.