I just read a new white paper written by John Ousterhout
about scripting languages, called
Scripting: Higher-Level Programming for the 21st Century
(available at http://www.sunlabs.com/people/john.ousterhout)
I would encourage everyone in the scheme community to grab
a copy and read it (it's only 12 pages).
Although this paper primarily talks about tcl, perl, and
visual basic, it seems the ideas in this paper definitely
apply to scheme and scsh as well.
But I believe this paper also highlights some of the problems
of the scheme community. (In my opinion) the scheme community needs
to concentrate more on adding those parts that Ousterhout outlines
are important for scripting languages
1) Gluing, embedding and extending. I don't know of any scheme
implementation that has as sophisticated a setup as perl or tcl
when it comes to the ability to extend the language with binary
modules. Although many languages have to ability to be both
extended and embedded. I believe that the ability to extend is
more important than to embed. Unfortunately the scheme community
has concentrated on embedding, while other languages (such as perl)
seem to concentrate on extending. I believe this is where the
lack of the standard packaging system hurts the most. I am also
especially surprised at the lack of interfaces for the standard
databases (Oracle, PostgreSQL).
2) GUI. Only a few schemes have a TK interface. This is such a shame
since this is an areas where scheme could really shine.
I believe that the people working on Guile hope to tackle some of
these tasks. I hope that happens. Also, if I've overlooked any
scheme implementations that address this, then I would be happy to
hear about this.
When I look at how vibrant and dynamics the community of people that
contribute to Emacs Lisp or Perl, I'm envious. I believe the the scheme
community could also have this, if some of the remaining pieces are
filled in.
Of course these are just my opinions. I encourage everyone to speak
up and comment on this.
Richard Coleman
coleman@math.gatech.edu
|