Re: Scripting in Gnome
- From: James Henstridge <james daa com au>
- To: jamie <jamiemcc blueyonder co uk>
- Cc: Bill Haneman <Bill Haneman Sun COM>, GNOME Desktop Hackers <desktop-devel-list gnome org>
- Subject: Re: Scripting in Gnome
- Date: Thu, 05 Feb 2004 23:40:19 +0800
On 05/02/04 22:42, jamie wrote:
Thats true for objects that are unknown. In VBA, in-application specific
objects are just there - you dont need to explicitly use com or even
instantiate them (they obviously do that behind the scenes). That way
you can just dive in and use them without any additional glue. (Of
course external objects that you use in VBA have to be instantiated
manually)
That is an example of exposing an app's document model via COM :) In
fact, I don't think VBA has an extension interface other than COM ...
VBA is a dumbed down language and thats why its popular (because
non-programmers can make use of it) so naturally I would want any method
we use for automation in VBA to be similarily dumbed down and wrapping
it in an object fashion is the way VBA achieves that. Might have to wait
for D-Bus/DOM then for the automation part...
Are you sure that VBA is popular because it is "dumbed down"? Languages
like Python have simpler and more regular syntax. I would guess that
the reason it is popular is due to what it can be used for (ie. lots of
scriptable COM interfaces), and the fact that it has a builtin IDE in
the Office apps.
[snip]
I understand the problem as someone wisely said "the nice thing about
standards is there are so many to choose from".
True. I left off a number of other interfaces developers can pick, like
Python or Perl's native extension interfaces ...
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
Well, Bonobo is just a set of standard CORBA interfaces, along with some
conventions on how to tie interfaces together into a component, so it
isn't really separable. Bonobo without CORBA wouldn't be Bonobo.
(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).
What do you see as the concrete benefits of replacing CORBA's interface
description language with XML? A language binding can always ask the
ORB to describe the types (and with ORBit2, you can get full method
descriptions for object references). I can't see what benefit changing
the on-disk representation of the interface descriptions will give.
If you are interested in scripting of applications, one thing you could
do that would be useful would be to identify a set of requirements for
such a scripting framework, and then check those requirements against
the various options available. If none of them meet all the
requirements, we would have some idea of what needs to be done to finish
them. Some suggestions to get you started:
* Must be easy to write code to glue the framework to a language.
* For dynamic languages, only a fixed amount of code should be
needed; ie. it shouldn't be necessary to pre-generate stub code.
* Must be easy for applications to expose their APIs. ie. shouldn't
be too verbose (like the CORBA C mapping), or require the
developer to refactor their app too much.
* Have a type system that can support complex types (lists, structs,
etc). Preferably recursive types (eg. a list of lists or list of
structs, etc).
* It would be nice if the same or a similar interface could be used
for in-process and out of process scripting.
You can probably think of others.
James.
--
Email: james daa com au
WWW: http://www.daa.com.au/~james/
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]