[geeks] forking stupid interpreters

Greg A. Woods woods at weird.com
Mon Mar 25 17:08:09 CST 2002


[ On Monday, March 25, 2002 at 21:51:37 (+0000), David Cantrell wrote: ]
> Subject: Re: [geeks] forking stupid interpreters
>
> Java used as scripting language?  Really?  I see it being used to build
> applications*.  To me, a script is something that runs through once and
> stops, non-interactively.

Traditionally a "scripting language" was something that would allow a
systems operator to automate tasks that a systems operator would
typically do.  JCL, DCL, etc. are traditional scripting languages.  They
don't usually have all the language features of a full high-level
programming language, though often they have quite high level language
contstructs.  Traditionally scripting languages ran other programs,
connecting them into a larger whole for a specific purpose.

These days people typically use the phrase "scripting language" to
describe pretty much any language that's usually implemented using an
interpreter and which can be used to do basic object manipulation in a
given systems environment.  Most modern scripting languages have many,
if not all, the basic language features common to all high level
programming languages (even the POSIX Shell is a more complete
stand-alone language now!), while at the same time often having
high-level language constructs specific to "scripting" applications.

So, yes, Java, typically being used via an interpreter (or at least as
much of an interpreter as Perl et al normally use), with all of its ,
and often used to do basic systems level object manipulation, especially
in server-side "applications", is what I'd call a modern scripting
language.  That it typically requires more lines of code and more
programming effort to do the same job as can be done in even a
traditional 3rd generation high-level compiled language, is one of the
few things that makes it unlike a typical scripting language where a lot
of functionality is done in very few lines of code.

(Pure Java, without any of the classes that interface to system stuff,
is really just an OO-variant of a proper 3rd generation language)

>  A program keeps running, interacts with the
> user(s), and may or may not stop.

That's not a very appropriate definition in unix-land!  ;-)

>  Any language can be used to write
> scripts, and any language can be used to write programs.

While generically that's a good rule of thumb, it's not really strictly
true.

> THEIR definition seems to be "if it seperates compile/link from run, it's
> not a scripting language", which is, I suppose, as good a definition as
> any if you have to come up with one.  It is of course arbitrary, especially
> as the task they're looking at fits my definition of scripting.

about the only example of a (typically) interpreted programming language
that doesn't fit _my_ definiton of scripting is AWK....

-- 
								Greg A. Woods

+1 416 218-0098;  <gwoods at acm.org>;  <g.a.woods at ieee.org>;  <woods at robohack.ca>
Planix, Inc. <woods at planix.com>; VE3TCP; Secrets of the Weird <woods at weird.com>



More information about the geeks mailing list