Scripting vs. whatever, again (was Re: Long Live Python!)

Peter Hansen peter at engcorp.com
Fri Jul 13 03:57:26 CEST 2001


Bruce Sass wrote:

> ...then would want to argue about the difference between a "script"
> and a "program".  I see it this way, if a script is only,
> "Automating a sequence of operations" -- C programs are scripts --
> there must be more to it, eh.
...
> $ dict "scripting language"
> <...>
> From The Free On-line Dictionary of Computing (06 Jun 01) [foldoc]:
> 
>   scripting language
> 
>      <language> (Or "glue language") A loose term for any language
>      that is {weakly typed} or {untyped} and has little or no
>      provision for complex {data structures}.  A program in a
>      scripting language (a "{script}") is often {interpreted} (but
>      see {Ousterhout's dichotomy}).
> ---
> 
> [Ousterhout's dichotomy... mainly refers to the arbitrary
>  catagorization of languages into "interpreted" vs. "compiled".]

Surely by far the most common connotation of "scripting" is in 
the sense of executing the source directly without the need
for a separate compilation step. 

Which would explain why so many people would refer to Python
source as a script ("just run it", even though there is an
internal automatic compilation to bytecode), while they 
would call Java source a program (compile to bytecode then run).

I thought of what I would call a "<100 line" little C file,
but the term "script" never comes to mind.  Even two lines of
C only deserves the name program (said with a sneer :-).

Exceptions: older BASIC applications which were and probably
are generally called programs and not scripts.  Maybe the
connotation I have for "scripting" developed only in more 
recent years.  I think I've heard "Perl programs" most often,
but that's probably for the alliterative value more than
to be an exception to my rule. :)

Interesting (?) special case: what do Jython programmers
use to refer to their source.  Do you call it, as you likely
do for Python, a script, or do you think of it as a program?
(And I don't know the nature of the compilation stage:
is it automated as with Python, or manual as with Java?)

Hmm... slight exception to my own rule.  I think of larger
Python applications as programs.  In fact, pretty much
anything with more than one module turns into a program,
and probably even large single file apps.  So "scripting"
must be both "a language in which source appears to
execute directly" and "small programs" together.

-- 
----------------------
Peter Hansen, P.Eng.
peter at engcorp.com



More information about the Python-list mailing list