Purpose: Discuss what determines whether a language is a scripting language as opposed to some other sort of programming language. ---- Many people say that AppleScript, Lua, Perl, Python, Rexx, Rebol, [Ruby], Shell, and Tcl are all scripting languages. What criteria can one use to determine whether a language is a scripting language or not? 1. Does the creator of the language call it a scripting language? 1. Does the language make it easy to interact with other programs, allowing one to trivially pass input and gather output for further processing? 1. Does the language require a ''separate'' compilation step? 1. Does the language have variables and flow control constructs? ''The italicised word added by me, or you exclude Perl5 and Tcl8 pointlessly - DKF'' ---- Discussion: Are the above valid criteria? If the creator of a language calls it a scripting language, does that make it so? If the creator denies that a language is a scripting language, does that make it so? The first language I learned that passes the "interact" criteria was IBM MVS JCL. Is that a scripting language? I know nothing of Lua and Rexx, so I don't know if they really fit in here or not. Other languages I have lesser familarity with, but which might fit the above criteria, are JavaScript, VisualBasic, VBScript, SmallTalk. ---- AK: An essay about this topic I wrote some time ago [http://www.oche.de/~akupries/ics_lang.html] ---- [Phil Ehrens] wrote: > Didn't Milton write (Paradise Regained?): > "Perl's lots of funne, but Tcl's where the work is donne"? ---- RS: I'd replace the overly generic "Shell" above with "sh, csh, ksh, bash, .." - just those "Unix JCLs -, and add "awk". Not sure about "sed", though...