Novel Thoughts on Scripting and Languages

James Huang judoscript at hotmail.com
Wed Jan 8 17:03:10 CET 2003


Mike Meyer <mwm at mired.org> wrote in message news:<x7wulgwa1g.fsf at guru.mired.org>...
> judoscript at hotmail.com (James Huang) writes:
> 
> > > > Have you ever thought about scripting more areas, such
> > > > as SQL, XML, EJB, SGML, HTTP, E-mail and GUI, the way you
> > > > script OS commands, all at once? Think about it!
> > > I have. I've written in it. It's called Rexx. Where JudoScript is as
> > > much a multi-target scripting langauge as this article is novel, Rexx
> > > is the real McCoy.
> > Admittedly I'm no Rexx person.
> 
> In that case, you've missed the first true multitarget scripting
> language, and it's only been around for 20 years now. I'd say you
> failed to check on prior work properly.

You've mentioned multi-"target" twice now, and I need to do some
research on that. JudoScript is a tool for Java, so I checked Java
scripting languages and felt comfortable.

> 
> > Please see the examples in other replies. Thanks.
> 
> I only saw two. One looked like a fancy shell script. The other looked
> like a fancy sendmail script. I've never run into a sendmail that was
> enabled for Rexx, so the point is sort of moot.
> 
> As others have mentioned, you can do this kind of thing with VBA. On
> Unix, you can do it with CORBA. The real measure of the power of this
> approach is how many applications will support what you're doing.
> 

Actually it is not VBA or CORBA, it is object model.

Object orientation gives two benefits, the first is better software
engineering (high degree of reusability), and subsequently the second
is scriptability. That's why Java (for that matter, Python as well) is
a dream platform since its objects can be programmed (in Java) and
scripted (in JudoScript, Jython, BeanShell, Rhino, Jacl, ...). On
Windows, MS had to add such "innovations" to their OLE/COM stuff to
make "ActiveX" that is totally scriptable (VBA, JScript, now Python
and JudoScript).

> Unix, you can do it with CORBA. The real measure of the power of this
> approach is how many applications will support what you're doing.

Again, let me limit the scope to Java, and there is no upper boundary
as long as the designer is capable of handling.

> The magic of (A)Rexx was that adding a simple interface to any
> application that supported a command line interface was trivial, and
> instantly gave you the ability to script the application with a
> full-blown programming language. Making the application a server and
> allowing things to connect to it was harder, but so useful that many
> applications did it.
> 

In Java, each object is a (mini) application. Any application is a
collection of objects. We don't even need a command-line interface for
that matter to use the magic of Rexx, do we? That's why Java is a
dream platform not only for scripting, but also programming as well!

> For instance, you talk about scripting in SQL. How many databases does
> it work with, and which ones? Of course, that's a bad example, because
> if I have to write SQL, then I'm not scripting, I'm programming.

No no, I saied "scripting SQL", like this:

  executeSQL {
    create table ...;
  }

  executeQuery qry:
    select Name from table;
  ;
  while qry.next() {
    println qry.Name;
  }

This is another important feature of Java -- JDBC. It's a standard
interface to almost all RDBMS's. What's significant is, every major
RDBMS vendor provide their own native JDBC driver, so you don't have
to worry about RDBMS support at all (of course, their SQL flavors are
still miles a part).

I used to work on a product support multiple RDBMS's; that crap had to
create its own db modules for OCI, DBLib and CTLib, Informix, Ingres,
... and eventually ODBC/CLI. Much like Java has shifted the burden of
supporting multiple platforms to a small of poor JVM porters, JDBC has
shifted the burdern of supporting multi-DB to a few wealthy RDBMS
vendors.

>
> How hard is it to add judoscript support to a random application, and
> how much overhead does it add? Do I have to embed a java vm in the
> thing to use it? What advantage does it give me over doing a CORBA
> interface - see <URL: http://www.mired.org/home/mwm/scripting/ > for a
> bit on that - to make up for the loss of the ability to write scripts
> in any language with CORBA support? On Windows, you get to do the same
> comparison with ActiveX or whatever MS is calling their distributed
> object technology this month.

I sensed you are not quite into Java, but unfortunately I am all Java
now. I thought IBM is pretty big on Java, perhaps it's just because
IBM is big that makes IBM-Java look big?

> 
>         <mike

Cheers,
-James




More information about the Python-list mailing list