Un lenguaje de secuencias de comandos, también conocido como lenguaje de extensión, es un tipo de lenguaje de programación que ejecuta varias aplicaciones de software. Los lenguajes de secuencias de comandos son descendientes del lenguaje de control de trabajos, uno de los primeros lenguajes utilizados por las empresas para automatizar la ejecución de una serie de tareas. Esta automatización se denomina procesamiento por lotes.
Los lenguajes utilizados para controlar el procesamiento por lotes, denominados lenguajes por lotes, son las primeras formas de un lenguaje de secuencias de comandos. Desde la década de 1950, los lenguajes por lotes se han utilizado como una forma de realizar funciones comerciales de alto nivel pero rutinarias, como facturación e informes. Los lenguajes por lotes suelen estar vinculados a un shell o interfaz de usuario en particular. Las carcasas populares para lenguajes por lotes incluyen Cocoa®, varias carcasas UNIX® y MS-DOS®.
Hay muchos propósitos para un lenguaje de secuencias de comandos. Un propósito muy importante de dicho lenguaje es servir como código de pegamento. Un código de pegamento es un código que se utiliza para unir varios programas y aplicaciones no relacionados entre sí.
Los lenguajes de secuencias de comandos también se utilizan en la automatización de compilación para interfaces gráficas de usuario (GUI). Una GUI permite a los usuarios interactuar con una interfaz diseñada con imágenes, botones y menús en lugar de operaciones de línea de comandos. Una computadora de escritorio moderna es un buen ejemplo de una GUI. Un lenguaje de secuencias de comandos facilita ciertas funciones de una GUI, como la impresión y el cambio de nombre de archivos.
Muchas aplicaciones web también están escritas en un lenguaje de secuencias de comandos. Una de las aplicaciones web más reconocibles es un navegador web. En su forma más básica, un navegador web permite al usuario ver páginas web dinámicas y moverse de una página a otra. Algunos ejemplos de lenguajes de secuencias de comandos populares utilizados para crear y diseñar sitios web incluyen JavaScript®, XUL ™, Ajax, VBScript® y XLST.
Para crear aplicaciones dinámicas e interactivas en Internet, se deben utilizar lenguajes de scripting. Un lenguaje de programación popular utilizado para este propósito es PHP. PHP se basa en HTML proporcionando instrucciones específicas para bloques de código HTML. En otras palabras, HTML «cobra vida» cuando PHP está incrustado. PHP se utiliza principalmente como un script del lado del servidor, lo que significa que actúa como un mediador entre el front-end de un sitio web y sus bases de datos y almacenes de datos back-end.
Los lenguajes de secuencias de comandos también se pueden utilizar como lenguajes específicos de dominio. Un lenguaje de dominio específico está diseñado para ejecutar programas o aplicaciones para un problema de dominio específico o una solución de dominio. Por ejemplo, SQL se usa para facilitar las consultas de bases de datos, Logo se usa para enseñar a los niños a programar, y una variedad de lenguajes de programación usan expresiones regulares para procesar archivos y documentos basados en texto.