Re: Scripting Languages (was Re: Techniques for writing an interpreter)

hgg9140@heckle.ca.boeing.com (Harry G. George)
30 Mar 1998 21:41:38 -0500

          From comp.compilers

Related articles
[5 earlier articles]
Re: Techniques for writing an interpreter markh@usai.asiainfo.com (Mark Harrison) (1998-03-20)
Re: Techniques for writing an interpreter a010111t@bc.seflin.org (Orlando Llanes) (1998-03-20)
Scripting Languages (was Re: Techniques for writing an interpreter) creedy@mitretek.org (Chris Reedy) (1998-03-24)
Re: Scripting Languages (was Re: Techniques for writing an interpreter markh@usai.asiainfo.com (Mark Harrison) (1998-03-30)
Re: Scripting Languages (was Re: Techniques for writing an interpreter tiggr@ics.ele.tue.nl (1998-03-30)
Scripting Languages (was Re: Techniques for writing an interpreter) jhonan@mpx.com.au (1998-03-30)
Re: Scripting Languages (was Re: Techniques for writing an interpreter hgg9140@heckle.ca.boeing.com (1998-03-30)
Re: Scripting Languages (was Re: Techniques for writing an interpreter bmcsweeney@bigfoot.com (1998-03-30)
Re: Scripting Languages (was Re: Techniques for writing an interpreter cgregg@dsp.sps.mot.com (Chris Gregg) (1998-03-30)
| List of all articles for this month |

From: hgg9140@heckle.ca.boeing.com (Harry G. George)
Newsgroups: comp.compilers
Date: 30 Mar 1998 21:41:38 -0500
Organization: The Boeing Company
References: 98-03-032 98-03-098 98-03-141 98-03-147 98-03-159 98-03-186 98-03-201 98-03-233
Keywords: interpreter, practice

Chris Reedy <creedy@mitretek.org> writes:
> A quick question: What are the key differences between a scripting
> language and an ordinary programming language? That is, what is it
> about a language that makes it better or worse for the uses described
> above?


Has someone formally analyzed this? I think of a scripting language
as a "better shell script". That implies it can make certain
assumptions (e.g., numerical analysis and graphics are not critical)
and must meet certain constraints:
a) Rapid iterative development cycle (a few seconds per tested idea)
b) Full new app in under 30 minutes. Tweak and test old app in
under 5 minutes.
c) Can call all (most?) POSIX functions using traditional names
d) Can do backquote, e.g. array_of_lines = `cmd`
e) Good treatment of regular expressions and string concatenation
f) Usable for cgi's


In contrast, an ordinary language seems to balance more toward
a) Handle anything -- including casting, high performance, numerical, etc.
b) Careful treatment of programming-in-the-large (e.g., type safety,
modularity, maintainability)


As an experiment, I'm doing the same task (build a dev-and-test dir tree,
and generate app and utility skeletons) in several languages (* = completed):
    1) Perl *
    2) Guile *
    3) Python
    4) Perl, embedded in Modula-3
    5) Guile, embedded in Modula-3
    6) Python, embedded in Modula-3
    7) Perlish module in Modula-3 *
Personally, "7" is looking pretty good right now.
But in a commercial setting I use "1".
--
Name: Harry George
Email: harry.g.george@boeing.com
--


Post a followup to this message

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