Novel Thoughts on Scripting and Languages
James Huang
judoscript at hotmail.com
Thu Jan 9 01:59:02 EST 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