A scripting language or script language is a programming language that supports the writing of scripts, programs written for a software environment that automate the execution of tasks which could alternatively be executed one-by-one by a human operator. Environments that can be automated through scripting include software applications, web pages within a web browser, the shells of operating systems (OS), and several general purpose and domain-specific languages such as those for embedded systems.
Scripting is usually a property of the primary implementations of a language, rather than a language per se, although many languages are not very suited to this kind of implementation. For example, C++ interpreters do exist, but C++ is generally not considered a scripting language, as not only are these implementations rarely used, but the time taken to write a script in C++ would be far in advance of that required to write in a language like Python.
Typically, a scripting language is characterised by the following properties:
- Ease of use. Scripting languages are intended to be very fast to pick up and author programs in. This generally implies relatively simple syntax and semantics.
- OS facilities - especially filesystem and related, built in with easy interfaces. Scripting is usually aimed at desktops, limiting the portability needs of the pre-built libraries.
- Interpreted from source code - to give the fastest turnaround from script to execution. On a desktop, the performance of even a slow interpreter is often non-problematic. In comparison, non-scripting languages intended for large programs are often precompiled in at least some sense for superior performance.
- Relatively loose structure. It would be difficult to use Java as a scripting language due to the rules about which classes exist in which files - contrast to Python, where it's possible to simply define some functions in a file.
Scripts can be written and executed "on-the-fly", without explicit compile and link steps; they are typically created or modified by the person executing them. A scripting language is usually interpreted from source code or bytecode. By contrast, the software environment the scripts are written for is typically written in a compiled language and distributed in machine code form; the user may not have access to its source code, let alone be able to modify it.
The spectrum of scripting languages ranges from very small and highly domain-specific languages to general-purpose programming languages. The term script is typically reserved for small programs (up to a few thousand lines of code).
Read more about Scripting Language: History, Market Analysis
Famous quotes containing the word language:
“We might hypothetically possess ourselves of every technological resource on the North American continent, but as long as our language is inadequate, our vision remains formless, our thinking and feeling are still running in the old cycles, our process may be revolutionary but not transformative.”
—Adrienne Rich (b. 1929)