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

Peter Hansen peter at
Thu Jul 12 21:57:26 EDT 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

More information about the Python-list mailing list