Scripting languages are programming languages that are executed through an interpreter. They sometimes dispense with language elements, the usefulness of which only comes into play when working on more complex tasks. In scripting languages, for example, the obligation to declare variables is usually dispensed with – advantageous for the quick creation of small programs, but a disadvantage for large ones, for example because of the lack of possibility to check typos in variable names.
Programs written in scripting languages are also called scripts, while in Microsoft’s operating system environment, the term macro is most often used. Scripts are delivered almost exclusively in the form of source code files to make it easy to edit and customize the program.
Features of Scripting Language
Common features include:
---
- Implicitly declared variables (including dynamic function names),
dynamic typing, - Automatic memory management, especially automatic garbage collection,
- Dynamic class membership or prototype-based inheritance,
- Immediate execution by interpreting the source text without a separate translation phase.
In some scripting languages, the program code (as well as other data) can be manipulated by the program itself; this makes those languages particularly flexible.
The areas of application and characteristics of conventional programming languages and scripting languages now overlap greatly, which is why a strict separation between conventional programming languages and scripting languages is rarely possible.

Categories
Command Line Interpreter
Some scripting languages are derived from the command line interpreters of operating systems. The interpreters are primarily designed for interactive use, i.e. for entering commands. Variables, arithmetic expressions, control structures (if, while), and more are added to the input language, allowing you to automate tasks (e.g., silent installation) by writing “small programs” to files. These files can then be executed by the interpreter. The files are called shell scripts (executed by one of the Unix shells sh, csh …) in the Unix operating system or batch scripts (executed by COMMAND.COM and cmd.exe in DOS and Windows).
Command line interpreters should be distinguished from interactive languages (such as Lisp, Python, Tcl or Perl in the debugger), which can execute interactive program sections for testing and debugging, but are not as tightly integrated into the operating system.
Examples
- Bourne Shell (sh) – Unix Bourne Shell (the classic Unix shell)
- bash – GNU replacement and extension of the sh shell
- Kornshell (ksh) – further development of the classic sh-shell
- C-Shell (csh) – BSD Shell (Unix versions from Berkeley)
- cmd.exe – Command interpreter of Windows from Windows NT
- PowerShell – Command interpreter for Windows and others
- TACL – Command Interpreter of Tandem Systems
- Digital Command Language (DCL) – command language for VMS platforms
Scripting languages available as a library
Examples
- Lua – scripting language for embedding in programs, often found in computer games
- GNU Guile – GNU Extension Language
- AngelScript – scripting language for embedding in programs, often found in computer games
- S-Lang – platform-independent scripting language for embedding in programs
- Sleep – Scripting language written in Java for integration into Java programs
- Squirrel – Lua-inspired scripting language with C-like syntax
- Tcl – Tool Command Language by J. Ousterhout
- VBScript and JScript – standard Windows scripting languages
- Windows PowerShell – Microsoft’s scripting language for embedding .NET programs
Scripting languages of various programs
Scripting languages can also be used in application programs to automate tasks or by extending the capabilities of the program. In some cases, part of the functionality of the program itself is implemented in this scripting language. Thus, users can quickly extend the functionality of such a program with new functions or modify existing ones without rewriting the program itself. These enhancements can even be so far-reaching that the program performs completely new tasks that – from the user’s point of view – no longer have anything in common with the previous program. For example, the Emacs text editor also became an e-mail program or web browser.
In contrast to plug-ins, scripts or macros are much more flexible and are mainly used for small automations.
Examples
- AppleScript – Scripting language of macOS and Mac OS Classic
- AutoHotkey – a compilable scripting language for Windows and Windows programs
- AutoIt – an alternative to Windows Script Host
- Emacs Lisp – Scripting language of the Emacs editor
- Google Apps Script – for programmed automation of Google Workspace applications
- LPC – C similar language for MUDs
- Python – various programs, especially open source ones (e.g. LibreOffice, Blender and GIMP) can be scripted with it
- OpenOffice-Basic – basic macro language included with OpenOffice, similar to VBA in MS-Office
- QuakeC – scripting language of the computer game Quake
- REXX – especially used as a macro language under z/VM and OS/2 (e.g. in the “Extended Editor” EPM).
- Tcl – macro language used in AOLserver
- UnrealScript – Unreal Engine’s scripting language
- Vim scripting language
- VBA (Visual Basic for Applications) – scripting language for Microsoft products; is also compilable
- VBScript – standard scripting language of Windows, starting with Windows 98
- JScript – Default scripting language of Windows, from Internet Explorer 3.0 (Windows 3.1, NT 3.5)
Scripting languages on the WWW[ - For the WWW, scripting languages are often used on the servers to create dynamic pages or entire web applications. This happens, for example, in wikis, forums, guestbooks and online businesses.
Furthermore, client-side scripting languages are also integrated into the websites themselves and executed in the browsers.
Examples: server-side
- Perl – the first scripting language to be widely used in web servers
- PHP – the most common scripting language on web servers; was designed directly for this task
- Python – can be connected to a web server or used with a standalone web server
- Ruby – performed either via CGI or mod_ruby, increasingly using Ruby on Rails
- JavaScript – can also be used on the server side, e.g. with Node.js
- VBScript in ASP
Examples: client-side
- JavaScript (standardized as ECMAScript), is supported by all modern browsers
- CoffeeScript – transcompiles to JavaScript
- TypeScript – transcompiles to JavaScript
Standalone scripting languages
Scripting languages can also be run by other programs separately from their interpreter. Some of these are designed for special tasks, while others are general-purpose languages. These languages have the concepts necessary for large-scale program projects, such as namespaces and encapsulation, and are therefore often used for larger applications.
Examples: specialized languages
- awk – Unix word processor (list generator)
- GLE – Graphics Layout Engine, scripting language for generating graphics and diagrams
Examples: general-purpose languages
- Perl – Programming language with advanced word processor capabilities
- PHP – originally designed for web application development
- Python – partially object-oriented programming language
- REBOL – Programming language by Carl Sassenrath
- REXX – IBM’s scripting language
- Ruby – object-oriented programming language
- Tcl – universal scripting language with advanced text processor capabilities and graphical toolkit Tk