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 (in all of its incarnations - sh, ksh, csh, zsh, ...), 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.