Re: Scripting in Gnome



On Thu, 2004-02-05 at 10:12, jamie wrote:
> On Thu, 2004-02-05 at 15:00, Bill Haneman wrote:
> > jamie wrote:...
> > 
> > >Because Bonobo is equivalent in functionality to COM, I was kinda hoping
> > >a future version of Bonobo would be independent of corba or whatever
> > >underlying mechanism is used so you could use whatever system works best
> > >(obviously everyone will use the fastest and most efficient method
> > >whilst keeping Corba for backwards compatibility). I think there's an
> > >overwhelming case for replacing corba IDL with XML in bonobo if thats
> > >done (XSLT for automatic language bindings would be very handy).
> > >
> > No no no please; the IDL should be the 'normative' definition for 
> > interfaces.  That's what it was invented for; the fact that we are using 
> > "CORBA IDL" is less significant than the fact we're using IDL.  The IDL 
> > can be compiled to various backends, it doesn't have to be compiled to 
> > CORBA stubs/skels.
> > 
> 
> I was thinking along the lines of having XML as the high level
> definition. That could then be translated via XSLT to IDL if you needed
> it. I'm not saying scrap corba completely cause we do need it for
> backwards comatibility. If you look at the way MS is heading - its
> effectively using xml and web services to replace IDL in .Net

What is so hard about writing an IDL that would be made easier by an XML
format?  IDL is a standard.  In fact IDL's are better suited for the
task since it is very similar to C++ headers. Take this for example (as
see on http://www.djcbsoftware.nl/projecten/bonobo-gwizard/):

/*
 *  Bonobo_Sample_Moody.idl
 */

#include <Bonobo.idl>

module Bonobo {
        module Sample {
                interface GoodMood : Bonobo::Unknown {
                        string say_hello ();        
                };
        
                interface BadMood : Bonobo::Unknown {
                        string say_hi ();
                };
        };
};

How is this any more readable/editable:

<?xml version="1.0"?>
<!DOCTYPE idl PUBLIC "-//GNOME//IDL//EN">

<!-- 
   Bonobo_Sample_Moody.xml
-->

<include file="Bonobo.idl">

<module name="Bonobo"> 
        <module name="Sample"> 
                <interface name="GoodMood" inherits="Bonobo::Unknown"> 
                        <method name="say_hello" return="string" />        
                </interface>
        
                <interface name="BadMood" inherits="Bonobo::Unknown"> 
                        <method name="say_hi" return="string" />        
                </interface>
        </module>
</module>


And this is without parameters which would make the XML description even
more verbose.

I have done XML/XSLT to code conversions (see
http://www.gnome.org/softwaremap/projects/gof/)

It is not pretty stuff.  Just try editing the XSLT template.  XSLT is
best for XML to XML conversions.  XML is great and I have been working
with it since its pre 1.0 days but when used blindly it tends to be a
verbose answer to a simple question.  

--
J5

> jamie.
> 
> 
> > If you want to replace bonobo's backend, that's fine provided you 
> > preserve the advantages of CORBA (network transparency, 
> > language-neutrality, ability to connect to other runtimes like Java VMs 
> > and Windows).  What would really suck would be replacing the interface 
> > definition language, since that would break all the code that currently 
> > relies on the bonobo techniques generally (i.e. all existing bonobo 
> > services and interfaces that aren't part of libbonobo/libbonoboui).
> > 
> > - Bill
> > 
> > 
> > >
> > >jamie.
> > >
> > >  
> > >
> > 
> > 
> 
> _______________________________________________
> desktop-devel-list mailing list
> desktop-devel-list gnome org
> http://mail.gnome.org/mailman/listinfo/desktop-devel-list



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