Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [stellation-res] Proposed Changes in Bugzilla (#31581 )

At 03:25 PM 2/12/2003, Jonathan Gossage wrote:

----- Original Message -----
From: "Mark C. Chu-Carroll" <mcc@xxxxxxxxxxxxxx>
To: "Stellation-res" <stellation-res@xxxxxxxxxxxxxxx>
Sent: Wednesday, February 12, 2003 11:36 AM
Subject: Re: [stellation-res] Proposed Changes in Bugzilla (#31581 )
<major snip>
> Absolutely, plugins are one of the mechanisms we should support. I'd
> love to see a sort of standard library of scripted behaviors for
> different purposes, each packaged up as a plugin.
>
> I'd also like to find a way to provide a simple, lightweight scripting
> mechanism to allow people to attach scripts without all of the weight
> and complexity of plugins.
<minor snip>

I strongly agree that a light-weight way of "scripting" behaviour is
desirable, however I have yet to see a scripting language that did not feel
as "heavy-weight" as writing the behaviour in a full fledged programming
language. I personally feel that the way to get "light-weight" programming
is via a really good API plus a set of, currently non-existent tools that
can automate the writing of common idioms below the method or function
level.

BTW when you talk of Eclipse plugins as "heavy-weight" are you thinking of
the writing of the plugin, the deployment or both. Is it possible that what
we need is a simpler method of injecting custom behaviour into the system?

An Eclipse plug-in has a certain minimum level of infrastructure: it needs
some basic scaffolding, a separate jar, and a separate folder under eclipse/plugins. It is also necessary to exit and restart the Eclipse workbench when you add, upgrade or remove a plug-in. (While in theory one could perhaps modify the underlying jar while Eclipse was running, it seems pretty risky to me: I swore off self-modifying code more
than 20 years ago, once I graduated from the Z80 SBC with 1KB RAM that I
programmed in machine code using a hex keypad...)

A script (Python or whatever) is typically a single file interpreted by a (hopefully) stable plug-in. Editing a script or trying a new one is a very low overhead activity, with very fast turnaround. If the scripting plug-in has a halfway reasonable debugger, it's not (or rarely) necessary to run a second instance of Eclipse in order to debug the scripted behavior. While I debug using a second instance all the time, the 512MB of RAM in my
machine is barely enough.

In many domains, scripting is easier for non-developers to learn (and to abuse, of course). This is particularly true if a domain- and task- specific scripting vocabulary is provided,
so that script authors can work at a suitably high level of abstraction.

Note: I exclude Javascript or, pardon me, ECMAscript, from the category of
scripting languages. I worked with it, briefly, and would far rather use VB
if only those two were available (not saying much!). I'm still a Python
newbie, but my limited experience with it has been very positive. It would
be interesting to hear other suggestions; please consider ease-of-learning
as well as expressive power and support for domain-specific vocabularies.

- Jim

--
Jim Wright, IBM T.J. Watson Research Center
*** The Stellation project: Advanced SCM for Collaboration
*** http://www.eclipse.org/stellation
*** Work Email: jwright@xxxxxxxxxxxxxx ------- Personal Email: jim.wright@xxxxxxx



Back to the top