Re: Scripting vs. Programming language vs. 4GL?

Phillip Julian Eby <julian@feenix.metronet.com>
Tue, 31 Aug 1993 22:22:58 GMT

          From comp.compilers

Related articles
Scripting vs. Programming language vs. 4GL? tellab5!odgate!dbk@uunet.UU.NET (1993-08-20)
Re: Scripting vs. Programming language vs. 4GL? prener@watson.ibm.com (1993-08-23)
Re: Scripting vs. Programming language vs. 4GL? prechelt@ira.uka.de (1993-08-23)
Re: Scripting vs. Programming language vs. 4GL? damurphy@wc.novell.com (Duane Murphy) (1993-08-25)
Re: Scripting vs. Programming language vs. 4GL? lwall@netlabs.com (1993-08-29)
Re: Scripting vs. Programming language vs. 4GL? TDARCOS@MCIMAIL.COM (Paul Robinson) (1993-08-29)
Re: Scripting vs. Programming language vs. 4GL? julian@feenix.metronet.com (Phillip Julian Eby) (1993-08-31)
Re: Scripting vs. Programming language vs. 4GL? ch+@cs.cmu.edu (1993-08-30)
Re: Scripting vs. Programming language vs. 4GL? prechelt@ira.uka.de (Lutz Prechelt) (1993-08-30)
Re: Scripting vs. Programming language vs. 4GL? ram+@cs.cmu.edu (1993-08-30)
Re: Scripting vs. Programming language vs. 4GL? mcdonald@kestrel.edu (1993-08-31)
Re: Scripting vs. Programming language vs. 4GL? wright@hicomb.hi.com (David Wright) (1993-09-01)
Re: Scripting vs. Programming language vs. 4GL? pardo@cs.washington.edu (1993-09-02)
[2 later articles]
| List of all articles for this month |

Newsgroups: comp.compilers
From: Phillip Julian Eby <julian@feenix.metronet.com>
Keywords: interpreter, design
Organization: Compilers Central
References: 93-08-105 93-08-096
Date: Tue, 31 Aug 1993 22:22:58 GMT

Duane Murphy <damurphy@wc.novell.com> writes:
> My personal definition is based on intereter versus
> compiled. Something that is interpreted is a script
> something that is compiled is a program. But there
> goes those darn exceptions; what about a C interpreter?
> Does the program magically become a script?
> I think that "script" implies something "simpler" than
> a "program". Although nothing prevents a script from
> becoming a more complex program.


Actually, I think there's a semantic difference between "script" and
"program" which has less to do with the source language than with the
usual use of that language.


In my experience, "script" means a program which tells other programs what
to do - it is something to co-ordinate interaction between a set of
programs which actually produce the results, or automates user input to a
single program. Hence the idea of "script" - a thing that gives actors
(programs) their lines (data) and stage directions (co-ordination and
control).


A "program" on the other hand, actually performs some useful function
directly, it is *already* co-ordinated unto itself. Of course this
distinction calls into play the question of whether libraries are
"programs", and programs are therefore really scripts.


All in all, the distinction is not really that useful, but I'd say that
mostly you *know* when you're writing a script - it's when you already
have the tools to do something but it's not convenient or not automated.
When you're programming, you're making another tool, and generally you're
making use of even lower-level tools (such as libraries) that aren't
accessible without "programming".


But writing a script, IMO, is still "programming," no matter what the
vendors say. To me, programming is when you automate a process by any
other means than an automated recording of your actions. Why? Because to
automate a process requires you to have a mental model of the steps of the
process, and of the tool(s) needed to accomplish it. Once you have that,
you're programming, whether you write an MS-DOS batch file or an assembly
program. Automated recording of a process doesn't require such a mental
model, only that you be able to perform the task yourself. If a package
vendor says you can automate it without programming, that's pure baloney
unless you can record a series of actions and have them replayed by rote,
because that's the ONLY automation you can do without programming (barring
some of the nifty predictive reasoning systems that have been experimented
with).


To put it another way, programming is a mental process engaged in by a person.
A tool only determines the limits of what can be programmed by the person.
It does not determine whether the person is "programming" it except in the
trivial sense of whether it has any ability to be programmed at all, or to
be controlled by another tool which can be programmed.
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.