Scripting vs. whatever, again (was Re: Long Live Python!)
Peter Hansen
peter at engcorp.com
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 engcorp.com
More information about the Python-list
mailing list