Novel Thoughts on Scripting and Languages

James Huang judoscript at hotmail.com
Thu Jan 9 07:59:02 CET 2003


Dave Brueck <dave at pythonapocrypha.com> wrote in message news:<mailman.1042039696.8976.python-list at python.org>...
> On Tue, 7 Jan 2003, James Huang wrote:
> 
> > > If that's your definiton, all programming languages of which
> > > I'm aware are "scripting languages".  At least under Linux,
> > > issuing "OS commands"  is a standard library function accessible
> > > to all languages.  C and assembly language can both use the
> > > exact same system() or exec calls that Python and Perl do.
> >
> > Gee... Anyway, this is what I call scripting:
> >
> >    copy '*.java, *.jj' except '*Test*' in '~/src/'
> >         recursive echo
> >         to '~/archive/today';
> >
> >    copy '*.java, *.jj' except '*Test*' in '~/src/'
> >         recursive echo
> >         into '~/archive/today_src.jar';
> >
> > This is programming, "scriptingly":
> >
> >    do 'http://www.google.com' as sgml
> >    {
> >    <a>:   println '<a>   link: ', $_.href;
> >    <img>: println '<img> link: ', $_.src;
> >    }
> >
> > This is pure programming:
> >
> >    for i from 1 to 10 {
> >      println i;
> >    }
> 
> Care to elaborate? From the above it seems that, according to your
> definition, the difference between scripting and programming is purely
> syntactic. Hmm... admittedly this IS a "novel thought on scripting
> languages", but probably not in the sense you were shooting for. IOW, it
> looks like your idea of scripting is closer to "domain-specific syntax" or
> something, in which case SQL would be a scripting language, right? (if
> not, why not?)
> 


Allow me to give my non-scientific definition of scripting language:

Scripting (in programming sense)
================================
is to do things easily, intuitively, obviously, and accurately, so
much so that when another person (with the same domain knowledge) sees
a chunk of code, he immediately understands it without even a hint of
reasoning (ideally).

Scripting Support
=================
Very high level, domain-specific languages or language constructs
(such as syntax support but not always).

Scripting Languages
===================
Are (usually) general-purpose programming languages with one or more
scripting support. They are usually edit-and-run without compile.

Hence, SQL is not a scripting language because you can't program with
it. But it is a domain-specific language.


> Part of my problem is that it's common to use Python for tasks that
> traditionally fall under programming (applications development, system
> programming, etc.) as well as tasks that traditionally fall under
> scripting (the equivalent of one-off scripts that you could also write in
> bash, or things called in cron jobs) to the point that the distinction
> between the two has blurred somewhat because in both cases (1) we use the
> same development tools, (2) we don't do any compiling/linking or other
> prepare-to-use step, and (3) we have full access to whatever resources
> (APIs, libraries, shells) we need.
> 
> So what do consider to be scripting versus programming and in what way
> does it matter? If Judoscript is simply a way to do Java stuff without
> having to go through an explicit compile step, then cool, more power to
> you. But if, as your site implies, there is additional value there that
> might be useful to me (above and beyond Python and similar languages),
> then help me understand what it is (note that simply asserting "it's
> better!" doesn't really help).
> 
> Thanks,
> -Dave

Hope my definition of scripting languages answers most of the concerns
here. The key is the term "scripting". And value and power are all in
this word.

Thanks,
-James




More information about the Python-list mailing list