3 ms·
In my view, a scripting language is one thing, and one thing only -- a language designed to run scripts. And scripts are lines of computer code that are used t
by derekp7 11y ago
In my view, a scripting language is one thing, and one thing only -- a language designed to run scripts. And scripts are lines of computer code that are used to automate another application, and usually intended to be written by an end user (or power user, or their support personnel).
Based on the above definition, lets look at some examples:
* Communications App scripting (the scripting languages used on programs such as Procomm or Crosstalk, or the old log in scripts used on Trumpet Winsock). These obviously automate something the user would normally have to do manually.
* Game scripting engines
* Shell scripting -- this one is a bit tough. Most shell scripts are simple automation that replaces typing in several lines of commands. But some of them can be considered mini applications themselves.
Now, based on the intended use (short, quick programs that doesn't take a lot of programming skill to create), these languages typically are interpreted, have dynamic un-typed variables, and little to no boilerplate or setup code.
* Perl / Python / Ruby -- These I would classify as application languages, that happen to be interpreted. And because they are interpreted (like most scripting languages are), they have access to features that make scripting languages easy to use, such as dynamic un-typed variables and a loose syntax.
- wrenky 11y agoWhat does Perl/Python/Ruby have that other scripting languages ike Tcl, Erlang and Lua don't? It seems a bit arbitrary to label those as "Application" languages.
- derekp7 11y agoThe main thing is that they are stand-alone. Erlang is also stand-alone, so I would put that more in the application category. Initially, Tcl and Lua were designed to be attached to other programs, so they would be scripting languages. Of course, this doesn't mean that a scripting language is necessarily missing certain things that an app language has in it, this just means that the design decisions were being driven by the intended use of the language. And in some cases (such as Tcl and Lua), they were designed with more functionality than typical scripting languages, so they can also function as a standalone application language.