[
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