Lenguaje de escritura

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 12 de noviembre de 2021; las comprobaciones requieren 7 ediciones .

Lenguaje de secuencias de comandos ( lenguaje de secuencias de comandos, lenguaje de secuencias de comandos ; lenguaje de secuencias de comandos en inglés  ) - un lenguaje de secuencias de comandos de alto nivel ( script en inglés ) - breves descripciones de las acciones realizadas por el sistema. La diferencia entre programas y scripts es bastante borrosa. Un script es un programa que trata con componentes de software listos para usar [1] , que, una vez cargados, no dependen de la presencia/ausencia continua de una conexión a la Red en su trabajo .  

Según John Oosterhout , autor del lenguaje Tcl , los lenguajes de alto nivel se pueden dividir en lenguajes de programación de sistemas y lenguajes de secuencias de comandos .  A estos últimos también los llamó lenguajes adhesivos o lenguajes de integración de sistemas . Los scripts generalmente se interpretan en lugar de compilarse [2] , aunque los lenguajes de scripting están obteniendo compiladores JIT uno por uno [3] [4] [5] .    

En un sentido más estricto, un lenguaje de secuencias de comandos puede entenderse como un lenguaje especializado para ampliar las capacidades de un shell de comandos o editor de texto y herramientas de administración del sistema operativo [6] .

Clasificación

Los lenguajes de programación en general y los lenguajes de scripting en particular se pueden clasificar de muchas maneras diferentes.

En términos de velocidad, los lenguajes de secuencias de comandos se pueden dividir en lenguajes de análisis dinámico ( sh , COMMAND.COM ) y lenguajes precompilados ( Perl ). Los lenguajes de análisis dinámico leen las instrucciones de un archivo de programa en los bloques mínimos requeridos y ejecutan esos bloques sin leer más código. Los lenguajes precompilados traducen todo el programa a bytecode y luego lo ejecutan. Algunos lenguajes de secuencias de comandos tienen la capacidad de compilar un programa sobre la marcha en código de máquina (la llamada compilación JIT ).

Por aplicación, los idiomas se pueden dividir aproximadamente en tres tipos [7] :

Lenguajes de secuencias de comandos

Apareció allá por los años 60 para gestionar tareas en sistemas operativos. De los lenguajes de aquella época, el JCL para OS/360 es el más conocido . Esta clase incluye lenguajes por lotes ( eng.  lenguaje por lotes ) y lenguajes de shell de comando , como sh , csh para Unix . Estos lenguajes son los más utilizados en el procesamiento por lotes [7] .

Por ejemplo, el lenguaje AppleScript del sistema operativo MacOS tiene un Editor de secuencias de comandos que le permite registrar acciones a medida que las realiza el usuario en el sistema en un archivo de secuencia de comandos (archivo de texto) y formatearlo como un programa ejecutable. Este enfoque permite que un usuario que no sea programador componga scripts simples [8] .

Idiomas integrados (secuencias de comandos aplicadas)

Los lenguajes de secuencias de comandos de este tipo comenzaron a aparecer en la década de 1980, cuando se hizo posible la comunicación interactiva con el sistema operativo en las computadoras personales industriales. En una arquitectura cliente-servidor, dichos lenguajes funcionaban en el lado del cliente del software [7] .

Lenguajes de propósito general

Este tipo de lenguaje de scripting es el más conocido (especialmente cuando se aplica a la programación web ). Lenguajes de este tipo han ido surgiendo desde la década de 1990 [7] .

Cabe señalar que muchos de los lenguajes de esta categoría tienen usos más amplios que los lenguajes de secuencias de comandos, como JavaScript, que en algunos casos puede ejecutarse en el servidor.

Crítica

El creador de Java, James Gosling , relegó los lenguajes de programación dinámicos (mencionando a PHP y Ruby) al papel de lenguajes de secuencias de comandos que generan páginas web, pero no son adecuados para su uso en un nicho más amplio de aplicaciones debido a la escalabilidad y el rendimiento. problemas [9] . Los partidarios de los lenguajes dinámicos no dejaron críticas sin respuesta en todos los aspectos, en particular sobre sus esfuerzos por presentar los lenguajes dinámicos modernos como simplemente "escritos" [10] .

Complementos y scripts

Para escribir extensiones personalizadas, tanto los scripts (en la terminología de algunos programas " macros ") como los complementos (módulos independientes escritos en lenguajes compilados ; en algunos programas pueden llamarse "utilidades", "exportadores", "controladores") pueden ser usado.

El lenguaje de script es útil en los siguientes casos:

Los complementos también tienen beneficios importantes.

Notas

  1. Susie R. Lenguajes de secuencias de comandos: Python. "Mundo PC", 9, 2001 . Consultado el 9 de octubre de 2012. Archivado desde el original el 17 de enero de 2013.
  2. Ousterhout, 1998 .
  3. LuaJIT . Consultado el 9 de octubre de 2012. Archivado desde el original el 2 de octubre de 2012.
  4. PyPy . Consultado el 9 de octubre de 2012. Archivado desde el original el 12 de mayo de 2008.
  5. Joab Jackson (IDG News Service), Facebook lanza un compilador PHP justo a tiempo . Consultado el 9 de octubre de 2012. Archivado desde el original el 11 de junio de 2012.
  6. Yu. A. Denisov, Programación para las humanidades, 12. Conferencia: Presentación de gramáticas
  7. 1 2 3 4 5 6 7 Bogatyrev, 2001 .
  8. Trofimov, Trofimova, 1997 .
  9. James Gosling: "Java no está bajo ninguna amenaza seria de PHP, Ruby o C#" . Consultado el 9 de octubre de 2012. Archivado desde el original el 24 de octubre de 2012.
  10. Ryan Tomayko, Gosling no recibió el memo . Consultado el 9 de octubre de 2012. Archivado desde el original el 18 de enero de 2012.

Literatura

Enlaces