Why do we call python a scripting language?

Alexei Boukirev aboukirev at iname.com
Mon Aug 30 00:39:53 CEST 1999


Donn Cave <donn at u.washington.edu> wrote in message
news:7q6imd$kuo$1 at nntp6.u.washington.edu...
> Quoth tdixon.no at spam.fwi.com (Timothy Dixon):
> | On Fri, 27 Aug 1999 10:18:55 GMT, guy_oliver at yahoo.com wrote:
> |> Why do we call python a scripting language?
> |>
> |> For me, and for most of the people I try to tell about the benefits of
> |> python, the title 'scripting language' implies that its not a real
> |> language capable of real programs.  It implies to most of them that it
> |> is good for simple sysadmin and maybe short cgi scripts.
> |
> | I put it in the class of scripting languages because it's embeddable
> | (as I understand it; I'm actually just a newbie) in other applications
> | where it can be used for scripting another app.
>
> Yes!  This is the useful meaning for "scripting", as I see it!  The
> definitions that try to distinguish between ``quick, inconsequential''
> vs. ``serious, production'' etc. are hopelessly lame, regardless of
> their distinguished sources, because it's a useless struggle to assign
> importance this way.  A 3 line Bourne shell script can be mighty
> important production software.
>
My understanding of scripting (vs. interpreted) language is that for
scripting language byte compiler (or precompiler if you wish) is an integral
part of run-time environment.  So you effectively can load source code at
run-time and execute it.  This holds true for many languages, including
various Lisp/Schema implementations, even Smalltalk (except for end products
stripped off original environment).  Not true for Java as it does not allow
to distribute bite-compiler related classes (part of JDK, not JRE), and even
then this integration there is not well documented.

Funny how all Emacsers call Elisp a 'programming' language and not
'scripting' language (though it IS scripting).  Is it because it has that
huge development support environment which is being considered 'OS' by
itself (and Elisp is not used outside of it)?

Same would probably hold true for Java once JavaOS is complete and
operational.

Shell is on the other hand is still considered 'scripting' environment.

May be it's a matter of preference how you call it?

One more explanation of 'scripting' language could be that any program
written in it requires some environment to run in which is not simply a
language interpreter but more like a complete usable application itself.

Alexei






More information about the Python-list mailing list