A glue language is a programming language (usually an interpreted scripting language) that programmers use to connect software components. They are especially useful for writing and maintaining:
- Custom commands for a command shell
- Smaller programmes than those that are better implemented in a compiled language
- "Wrapper" programmes for executables, like a batch file that moves or manipulates files and does other things with the operating system before or after running an application like a word processor, spreadsheet, data base, assembler, compiler, etc.
- Scripts that may change
- Rapid prototypes of a solution eventually implemented in another, usually compiled, language.
Glue language examples:
- Unix Shell scripts (ksh, csh, bash, sh and others)
- Windows PowerShell
Macro languages exposed to operating system or application components can serve as glue languages. These include Visual Basic for Applications, WordBasic, LotusScript, CorelScript, PerfectScript, Hummingbird Basic, QuickScript, SaxBasic, and WinWrap Basic. Other tools like awk can also be considered glue languages, as can any language implemented by an ActiveX WSH engine (VBScript, JScript and VBA by default in Windows and third-party engines including implementations of Rexx, Perl, Tcl, Python, XSLT, Ruby, Delphi, &c) A majority of applications can access and use operating system components via the object models or its own functions.
Other devices like programmable calculators may also have glue languages; the operating systems of PDAs such as Windows CE may have available native or third-party macro tools that glue applications together, in addition to implementations of common glue languages—including Windows NT, MS-DOS and some Unix shells, Rexx, PHP, and Perl. Depending upon the OS version, WSH and the default script engines (VBScript and JScript) are available.
Programmable calculators can be programmed in glue languages in three ways. For example, the Texas Instruments TI-92, by factory default can be programmed with a command script language. Inclusion of the scripting and glue language Lua in the TI-NSpire series of calculators could be seen as a successor to this. The primary on-board high-level programming languages of most graphing calculators (most often Basic variants, sometimes Lisp derivatives, and more uncommonly, C derivatives) in many cases can glue together calculator functions—such as graphs, lists, matrices, etc. Third-party implementations of more comprehensive Basic version that may be closer to variants listed as glue languages in this article are available—and attempts to implement Perl, Rexx, or various operating system shells on the TI and HP graphing calculators are also mentioned. PC-based C cross-compilers for some of the TI and HP machines used in conjunction with tools that convert betwixt C and Perl, Rexx, awk, as well as shell scripts to Perl, VBScript to and from Perl make it possible to write a programme in a glue language for eventual implementation (as a compiled programme) on the calculator.