Tech moves fast! Stay ahead of the curve with Techopedia!
Join nearly 200,000 subscribers who receive actionable tech insights from Techopedia.
A scripting language is a language that uses a sophisticated method to bring codes to a runtime environment. In key ways, scripting languages are made for specific runtime environments, and they automate some of the code implementation.
In that sense, they are modernizations of a system that previously used compilers to interpret inputs.
Examples of scripting language implementation involve their use in operating system shells and web browser technologies, and elsewhere, where the interpreter can enhance how the language is used.
A basic comparison of scripting languages in programming evolution involves Python, one of the most popular languages used for many new kinds of projects involving machine learning.
Python is known as a scripting language in its modular and automated build, compared to legacy programming languages like COBOL and BASIC, which are known as compiled languages.
In many cases, a scripting language uses an interpreter instead of a compiler, and that's how you can tell whether a language is a scripting language or not.
Compiled languages use a compiler to make code into assembly language or machine language. By contrast, scripting languages and other interpreted languages use an interpreter.
The interpreter is responsible to interpret the source code for program execution. You could say that in a scripting language with an interpreter, the code is the language itself, and it gets interpreted relatively on-the-fly. Other kinds of systems like just-in-time compiling can also apply.
An example of the complexity of compiler languages and interpreted languages such as scripting languages is evident in the evolution of Sun Microsystems and its Java computer programming language set, which has been so much a fundamental part of computer science for so many years.
Classic Java is commonly known as a compiler language. It uses the traditional compiler system to convert code into machine language, as do C++ and other object oriented programming methods of its time.
There are various benefits and disadvantages associated with the use of interpreted languages over compiler languages. The uniqueness of domain-specific scripting languages and their use in various runtime environments has been discussed. There's also the idea that interpreted language systems can help when distributed systems have different machine languages in play that make it difficult for compiled languages to bridge these cross-platform gaps.
On the other hand, some experts talk about latency with interpreted programs, just because the code has to run through an interpreter instead of being traditionally compiled. Experts have to assess these sorts of trade-offs as they consider whether using a scripting language makes sense in a given project environment.
Generally, though, the ability to abstract programming in this way is an attractive part of modernizing our codebase tools.