Novel Thoughts on Scripting and Languages

James Huang judoscript at
Thu Jan 9 07:59:02 CET 2003

Dave Brueck <dave at> wrote in message news:<mailman.1042039696.8976.python-list at>...
> On Tue, 7 Jan 2003, James Huang wrote:
> > > If that's your definiton, all programming languages of which
> > > I'm aware are "scripting languages".  At least under Linux,
> > > issuing "OS commands"  is a standard library function accessible
> > > to all languages.  C and assembly language can both use the
> > > exact same system() or exec calls that Python and Perl do.
> >
> > Gee... Anyway, this is what I call scripting:
> >
> >    copy '*.java, *.jj' except '*Test*' in '~/src/'
> >         recursive echo
> >         to '~/archive/today';
> >
> >    copy '*.java, *.jj' except '*Test*' in '~/src/'
> >         recursive echo
> >         into '~/archive/today_src.jar';
> >
> > This is programming, "scriptingly":
> >
> >    do '' as sgml
> >    {
> >    <a>:   println '<a>   link: ', $_.href;
> >    <img>: println '<img> link: ', $_.src;
> >    }
> >
> > This is pure programming:
> >
> >    for i from 1 to 10 {
> >      println i;
> >    }
> Care to elaborate? From the above it seems that, according to your
> definition, the difference between scripting and programming is purely
> syntactic. Hmm... admittedly this IS a "novel thought on scripting
> languages", but probably not in the sense you were shooting for. IOW, it
> looks like your idea of scripting is closer to "domain-specific syntax" or
> something, in which case SQL would be a scripting language, right? (if
> not, why not?)

Allow me to give my non-scientific definition of scripting language:

Scripting (in programming sense)
is to do things easily, intuitively, obviously, and accurately, so
much so that when another person (with the same domain knowledge) sees
a chunk of code, he immediately understands it without even a hint of
reasoning (ideally).

Scripting Support
Very high level, domain-specific languages or language constructs
(such as syntax support but not always).

Scripting Languages
Are (usually) general-purpose programming languages with one or more
scripting support. They are usually edit-and-run without compile.

Hence, SQL is not a scripting language because you can't program with
it. But it is a domain-specific language.

> Part of my problem is that it's common to use Python for tasks that
> traditionally fall under programming (applications development, system
> programming, etc.) as well as tasks that traditionally fall under
> scripting (the equivalent of one-off scripts that you could also write in
> bash, or things called in cron jobs) to the point that the distinction
> between the two has blurred somewhat because in both cases (1) we use the
> same development tools, (2) we don't do any compiling/linking or other
> prepare-to-use step, and (3) we have full access to whatever resources
> (APIs, libraries, shells) we need.
> So what do consider to be scripting versus programming and in what way
> does it matter? If Judoscript is simply a way to do Java stuff without
> having to go through an explicit compile step, then cool, more power to
> you. But if, as your site implies, there is additional value there that
> might be useful to me (above and beyond Python and similar languages),
> then help me understand what it is (note that simply asserting "it's
> better!" doesn't really help).
> Thanks,
> -Dave

Hope my definition of scripting languages answers most of the concerns
here. The key is the term "scripting". And value and power are all in
this word.


More information about the Python-list mailing list