AnuncioLos lenguajes de scripting son lenguajes de programación que se ejecutan a través de un intérprete. A veces prescinden de elementos lingüísticos, cuya utilidad sólo entra en juego cuando se trabaja en tareas más complejas. En los lenguajes de scripting, por ejemplo, normalmente se prescinde de la obligación de declarar variables, lo que es una ventaja para la creación rápida de programas pequeños, pero una desventaja para los grandes, debido, por ejemplo, a la imposibilidad de comprobar los errores tipográficos en los nombres de las variables.Programas escritos en los lenguajes de scripting también se denominan scripts o scripts, mientras que en el entorno del sistema operativo de Microsoft se utiliza con mayor frecuencia el término macro. Los scripts se entregan casi exclusivamente en forma de archivos de código fuente para facilitar la edición y personalización del programa. Características del lenguaje de secuencias de comandos Las características comunes incluyen:Variables declaradas implícitamente (incluidos nombres de funciones dinámicas), tipificación dinámica, administración automática de memoria, especialmente recolección automática de basura, membresía de clase dinámica o herencia basada en prototipos, ejecución inmediata mediante la interpretación del texto fuente sin una traducción separada. fase.En algunos lenguajes de programación, el código del programa (así como otros datos) puede ser manipulado por el propio programa; esto hace que estos lenguajes sean particularmente flexibles. Los campos de aplicación y características de los lenguajes de programación convencionales y los lenguajes de scripting hoy en día se superponen en gran medida, por lo que rara vez es posible una separación estricta entre los lenguajes de programación convencionales y los lenguajes de scripting. Categorías Intérprete de línea de comandosAlgunos lenguajes de secuencias de comandos se derivan de los intérpretes de línea de comandos de los sistemas operativos. Los intérpretes están diseñados principalmente para un uso interactivo, es decir, para introducir comandos. Se agregan variables, expresiones aritméticas, estructuras de control (if, while) y más al lenguaje de entrada, lo que le permite automatizar tareas (por ejemplo, instalación silenciosa) escribiendo «pequeños programas» en archivos. Estos archivos luego pueden ser ejecutados por el intérprete. Los archivos se denominan scripts de shell (ejecutados por uno de los shells de Unix sh, csh…) en el sistema operativo Unix o scripts por lotes (ejecutados por COMMAND.COM y cmd.exe en DOS y Windows). Los intérpretes de línea de comandos deben distinguirse de lenguajes interactivos (como Lisp, Python, Tcl o Perl en el depurador), que pueden ejecutar secciones de programas interactivos para probar y depurar, pero no están tan estrechamente integrados en el sistema operativo. Ejemplos Bourne Shell (sh): Unix Bourne Shell (el shell clásico de Unix)bash – Reemplazo GNU y extensión del shell shKornshell (ksh) – desarrollo posterior del shell sh clásicoC-Shell (csh) – Shell BSD (versiones Unix de Berkeley)cmd.exe – Intérprete de comandos de Windows desde Windows NTPowerShell: intérprete de comandos para Windows y otrosTACL: intérprete de comandos de sistemas TandemLenguaje de comandos digital (DCL): lenguaje de comandos para plataformas VMSLenguajes de scripting disponibles como bibliotecaEjemplosLua: lenguaje de scripting para incrustar en programas, que a menudo se encuentra en juegos de computadoraGNU Guile: lenguaje de extensión GNUAngelScript: scripting lenguaje para incrustar en programas, que a menudo se encuentra en juegos de computadora S-Lang: lenguaje de secuencias de comandos independiente de la plataforma para incrustar en programas. Sleep: lenguaje de secuencias de comandos escrito en Java para integración en programas Java. Ardilla: lenguaje de secuencias de comandos inspirado en Lua con sintaxis similar a C. Tcl: lenguaje de comandos de herramientas de J. OusterhoutVBScript y JScript: lenguajes de scripting estándar de WindowsWindows PowerShell: lenguaje de scripting de Microsoft para incrustar programas .NETLenguajes de scripting de varios programasLos lenguajes de scripting también se pueden utilizar en programas de aplicación para automatizar tareas o ampliar las capacidades del programa. En algunos casos, parte de la funcionalidad del propio programa se implementa en este lenguaje de programación. Por lo tanto, los usuarios pueden ampliar rápidamente la funcionalidad de dicho programa con nuevas funciones o modificar las existentes sin tener que reescribir el programa en sí. Estas mejoras pueden incluso ser tan importantes que el programa realice tareas completamente nuevas que, desde el punto de vista del usuario, ya no tienen nada que ver con el programa anterior. Por ejemplo, el editor de texto de Emacs también se convirtió en un programa de correo electrónico o un navegador web. A diferencia de los complementos, los scripts o macros son mucho más flexibles y se utilizan principalmente para pequeñas automatizaciones. EjemplosAppleScript – Lenguaje de scripting de macOS y Mac OS ClassicAutoHotkey – un lenguaje de scripting compilable para Windows y programas de WindowsAutoIt – una alternativa a Windows Script HostEmacs Lisp – lenguaje de scripting del editor de EmacsGoogle Apps Script – para la automatización programada de aplicaciones de Google WorkspaceLPC – lenguaje similar C para MUDsPython – varios programas, especialmente los de código abierto ( ej., LibreOffice, Blender y GIMP) se pueden programar con élOpenOffice-Basic – lenguaje de macros básico incluido con OpenOffice, similar a VBA en MS-OfficeQuakeC – lenguaje de scripting del juego de ordenador QuakeREXX – especialmente utilizado como lenguaje de macros en z/VM y OS /2 (por ejemplo, en el “Editor extendido” EPM). Tcl: lenguaje de macros utilizado en AOLserver. UnrealScript: lenguaje de secuencias de comandos de Unreal Engine. Lenguaje de secuencias de comandos Vim. VBA (Visual Basic para aplicaciones): lenguaje de secuencias de comandos para productos de Microsoft; también es compilableVBScript: lenguaje de secuencias de comandos estándar de Windows, a partir de Windows 98JScript: lenguaje de secuencias de comandos predeterminado de Windows, desde Internet Explorer 3.0 (Windows 3.1, NT 3.5)Lenguajes de secuencias de comandos en la WWW[Para la WWW, los lenguajes de secuencias de comandos se utilizan a menudo en los servidores para crear páginas dinámicas o aplicaciones web completas. Esto sucede, por ejemplo, en wikis, foros, libros de visitas y negocios en línea. Además, los lenguajes de scripting del lado del cliente también se integran en los propios sitios web y se ejecutan en los navegadores. Ejemplos: Server-sidePerl: el primer lenguaje de scripting ampliamente utilizado en servidores webPHP – el lenguaje de programación más común en servidores web; fue diseñado directamente para esta tareaPython: puede conectarse a un servidor web o usarse con un servidor web independienteRuby: se realiza mediante CGI o mod_ruby, usando cada vez más Ruby on RailsJavaScript: también se puede usar en el lado del servidor, por ejemplo, con Node.jsVBScript en Ejemplos de ASP: JavaScript del lado del cliente (estandarizado como ECMAScript), es compatible con todos los navegadores modernos CoffeeScript – transcompila a JavaScript TypeScript – transcompila a JavaScript Lenguajes de secuencias de comandos independientes Los lenguajes de secuencias de comandos también pueden ejecutarse mediante otros programas por separado de su intérprete. Algunos de ellos están diseñados para tareas especiales, mientras que otros son lenguajes de propósito general. Estos lenguajes tienen los conceptos necesarios para proyectos de programas a gran escala, como espacios de nombres y encapsulación, y por lo tanto se usan a menudo para aplicaciones más grandes. Ejemplos: lenguaje especializadosawk – procesador de textos Unix (generador de listas) GLE – Graphics Layout Engine, lenguaje de script para generar gráficos y diagramasEjemplos: lenguajes de propósito generalPerl: lenguaje de programación con capacidades avanzadas de procesador de textosPHP: diseñado originalmente para el desarrollo de aplicaciones webPython: lenguaje de programación parcialmente orientado a objetosREBOL: lenguaje de programación de Carl SassenrathREXX: lenguaje de scripting de IBMRuby: lenguaje de programación orientado a objetosTcl: lenguaje de scripting universal con capacidades avanzadas de procesador de texto y kit de herramientas gráficas Tk