[JDEV] Jabber Client feature question: scripting

James A. Hillyerd james at blarg.net
Fri Aug 6 11:26:40 CDT 1999

On Thu, 5 Aug 1999, Allen Short wrote:

> >My question is: what scripting language would you want to use to customize a
> >Jabber client?
> GUILE! Guile is the up-and-coming extension language; it has the advantage of 
> being designed for the purpose unlike, f'rex, Perl. Plus, it's more civilized
> than JavaScript. ;^) I do not know how easy it would be to embed Guile into a
> Java program, but I hope to see *some* client use it; AFAIK it's a C library.

First, to qualify my statements:  I've been developing in Perl for
years.  I've been developing in Java for over a year.  I've been
developing in Python for about 6 months.  I've also spent a few months on
a C project.  I've used both client and server side JavaScript on a large
project.  Rexx was my first programming language (assuming you don't count

I have read books on Eiffel and Tcl, and didn't really like either of
them.  I haven't spent any time reading about Lisp/Scheme, but I would
like to.

In theory, I would also recommend Guile, because part of it's mission is
to allow script authors to use any language via scheme plugins that
translate that other language to scheme.   So far, I haven't actually seen
that been done for any of the popular scripting languages, ie: perl,
python, tcl.  I haven't been following Guile very hard, but I do feel that
expecting a slightly above average user to learn Scheme/Lisp just to
customize his client is unreasonable.

Assuming that we also want a scripting language that can be used on Unix,
Mac and Windows.  Also assuming that we also want a scripting language
that can be embedded in both a C program and a Java program (pure Java,
not a C plugin)...  That narrows it down to Tcl and Python.  I think
JavaScript might be included here, but I don't know if there are
compatible C/Java versions, let alone free (speech) ones. 

Assuming that we want a fairly easy to learn scripting language, one that
both experienced developers can code zillions of lines of code in, as well
as someone that's never scripted before being able to change a color here
or a font there.  I'd have to recommend Python.  It is the easiest
language I've ever learned, yet it's more powerful than many other
languages, and quite easy to read.  It also was designed to be object
oriented from the start, so it makes it easier to expose a clean
interface to the guts of the client.  Tcl was designed for people that
have done a lot of unix shell scripting, which seems a little biased to
me, windows and mac users aren't going to have any experience with it.

The only weird thing about Python is that it forces you to use indentation
to denote blocks of code, but now that I've used it for a while, I think
it's a very elegant solution, you never get indentation and
brackets/begin&end statements confused.

Anyway, that's my $0.02


[]  James A. Hillyerd <jamesh at altavista.net> Java, Python & Perl Developer
[]  GPG Public Key Fingerprint for 1024D/9F956CDE (Expires 2000-02-01):
[]   C86F B073 92DF 1E24 EF0B  0118 6061 0FEC 9F95 6CDE

More information about the JDev mailing list