Ben said:
I agree entirely.
The term "script" has the strong connotation of a limited-purpose
program designed to solve a problem expressed almost entirely as a
simple series of steps. Languages that are often used to write such
scripts are usually referred to as "scripting languages", which
becomes a denigration because such a language need not have support
for much else.
I strongly disagree with your interpretation. Scritping languages
provide high-level facilites for process control. Historically, they
were purely interpretive but now they tend to compile to some sort of
byte code. Examples include the various shells, Rexx, and various
languages whose names start with "P". Languages which only express a
"series of steps" are generally called batch languages. I've never
heard anyone refer to a .BAT file as a script.
In scripting languages, speed of execution is often less important than
speed of implementation. When speed of execution is important, it is
easier to invoke an external module than to patch or rewrite the
interpreter. In Python, PERL and BASH, these modules can be dynamically
linked libraries as well as stand-alone executables.
Finally, the provided process control facilities are often generalized
into quite powerful support for "programming in the large", especially
both object-oriented and functional programming. This leads to supprot
for a much broader set of practices and solutions than any mere
programming language can easily provide.
The only drawback I've ever found to this is that it's easy to
accidentally use huge amounts of memory, for instance by 'slurping'
files into memory in a single command.
> This term seems quite prevalent among the Python core developers,
> unfortunately. The 'distutils' module even has the term 'script' used
> in its interface, to refer to the programs that are to be distributed.
Apparently the core developers agree with my interpretation, not yours.