A programming language, such as shellscript, AppleScript, or Expect, suited primarily for connecting or automating other programs, rather than for developing original programs. The term "scripting" derives from the idea of writing a script, or planned-out set of actions, for other entities (the programs controlled by the script) to play out.

Scripting languages are generally interpreted, but not all interpreted languages are scripting languages. LISP, for instance, is interpreted but isn't generally a scripting language -- though derivatives, such as Guile, are. As another example, Forth is (usually) interpreted, but would be almost useless for scripting.

Some scripting languages, such as Expect and AppleScript, are tailored towards interacting with other programs. Others, such as Unix shellscript and MSDOS's batch language, are only capable of controlling the initial parameters of the programs they invoke.

There is some controversy over whether Perl is a scripting language. I'd say that to call Perl a scripting language is to underestimate Perl's generality.