Lenguaje de escritura

Definición: ¿Qué significa Scripting Language?

Un lenguaje de secuencias de comandos es un lenguaje que utiliza un método sofisticado para llevar códigos a un entorno de ejecución. De manera clave, los lenguajes de scripting están hechos para entornos de ejecución específicos y automatizan parte de la implementación del código.

En ese sentido, son modernizaciones de un sistema que anteriormente usaba compiladores para interpretar las entradas.

Techinfo explica el lenguaje de secuencias de comandos

Los ejemplos de implementación del lenguaje de secuencias de comandos implican su uso en shells del sistema operativo y tecnologías de navegador web, y en otros lugares, donde el intérprete puede mejorar la forma en que se usa el lenguaje.

Ejemplo: Python

Una comparación básica de los lenguajes de scripting en la evolución de la programación involucra a Python, uno de los lenguajes más populares que se utiliza para muchos tipos nuevos de proyectos relacionados con el aprendizaje automático.

Python se conoce como un lenguaje de scripting en su construcción modular y automatizada, en comparación con los lenguajes de programación heredados como COBOL y BASIC, que se conocen como lenguajes compilados.

Idiomas interpretados

En muchos casos, un lenguaje de secuencias de comandos utiliza un intérprete en lugar de un compilador, y así es como puede saber si un lenguaje es un lenguaje de secuencias de comandos o no.

Los lenguajes compilados utilizan un compilador para convertir el código en lenguaje ensamblador o lenguaje de máquina. Por el contrario, los lenguajes de escritura y otros lenguajes interpretados utilizan un intérprete.

El intérprete es responsable de interpretar el código fuente para la ejecución del programa. Se podría decir que en un lenguaje de secuencias de comandos con un intérprete, el código es el lenguaje en sí y se interpreta relativamente sobre la marcha. También se pueden aplicar otros tipos de sistemas, como la compilación justo a tiempo.

Los híbridos

Un ejemplo de la complejidad de los lenguajes compiladores y los lenguajes interpretados, como los lenguajes de scripting, es evidente en la evolución de Sun Microsystems y su conjunto de lenguajes de programación de computadoras Java, que ha sido una parte fundamental de la informática durante tantos años.

El Java clásico se conoce comúnmente como lenguaje de compilación. Utiliza el sistema de compilación tradicional para convertir código en lenguaje de máquina, al igual que C ++ y otros métodos de programación orientados a objetos de su tiempo.

Sin embargo, los lenguajes como JavaScript se conocen como lenguajes de interpretación, donde en lugar de usar un compilador, se usa una herramienta de interpretación para cambiar la forma en que se usa e implementa la sintaxis del código. Si, por ejemplo, tiene un lenguaje compatible con máquinas virtuales como ByteCode que interpreta el script Java para un compilador, ese sería un lenguaje interpretado.

Beneficios y desventajas de las secuencias de comandos y los lenguajes interpretados

Existen varios beneficios y desventajas asociados con el uso de lenguajes interpretados sobre los lenguajes de compilación. Se ha discutido la singularidad de los lenguajes de programación de dominios específicos y su uso en varios entornos de ejecución. También existe la idea de que los sistemas de lenguaje interpretado pueden ayudar cuando los sistemas distribuidos tienen diferentes lenguajes de máquina en juego que dificultan que los lenguajes compilados cierren estas brechas entre plataformas.

Por otro lado, algunos expertos hablan de latencia con programas interpretados, simplemente porque el código tiene que ejecutarse a través de un intérprete en lugar de ser compilado tradicionalmente. Los expertos deben evaluar este tipo de compensaciones al considerar si el uso de un lenguaje de secuencias de comandos tiene sentido en un entorno de proyecto determinado.

Sin embargo, en general, la capacidad de abstraer la programación de esta manera es una parte atractiva de la modernización de nuestras herramientas de base de código.