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?
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.
Why would you want to use a scripting language, anyway? Take a look at Why Scripting
AK: An essay about this topic I wrote some time ago [L1 ]
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...
KBK: A test that's quite accurate for whether a language is a "scripting" language: If I have a character string that contains code written in the language, can I evaluate it readily within a running program? By this test, the LISP-like languages are also scripting languages, but many Basic implementations are not. It's not just a question of "does the language support the eval feature." Instead, the presence or absence of eval is a window into what the language designer considered important.