Te explicamos qué son los scripts, en qué lenguajes se escriben y para qué sirven.

¿Qué es un Script?

Concepto de Script en pantalla
Concepto de Script en pantalla

Un script es un conjunto de comandos para realizar tareas en un lenguaje de programación.

La mayoría de las veces, los scripts automatizan algo: crean publicaciones, recopilan datos SEO, inician animaciones o cambian la interfaz de un sitio web o aplicación en respuesta a las acciones del usuario, e incluso imitan a una persona para comprobar el funcionamiento de un sitio web.

Un script normalmente procesa una situación específica: se activa por el resultado de cálculos previos o por una acción del usuario. Por eso, a menudo se le llama secuencia de comandos.

Un guión o secuencia de comandos es una variante de las acciones de un script para lograr un objetivo.

Historia y Propósito de los Scripts

Tanto ahora como en el siglo XX, el script ha sido y sigue siendo un pequeño programa de computadora que realiza acciones por sí mismo. Sin embargo, el propósito del script ha cambiado ligeramente.

¿Para qué se usaba el script en el siglo pasado?

Los scripts aparecieron en las décadas de 1960-1980 y, desde entonces, se han utilizado en la programación para automatizar diversas tareas.

A mediados del siglo pasado, los scripts se ejecutaban solo en computadoras. Por ejemplo, en el lenguaje de programación Unix Shell, se podía automatizar el inicio de programas: combinar varios comandos en un solo archivo y ejecutarlos como un programa único.

¿Para qué se utilizan los scripts en la actualidad?

  • Scripts de navegador: crean aplicaciones web interactivas, animaciones de elementos, validan formularios, recopilan información sobre el usuario, etc.
  • Scripts de shell de comandos (Bash, PowerShell): automatizan tareas en el sistema operativo.
  • Scripts para lenguajes de programación (Python, Ruby, Perl): realizan diversas tareas.
  • Scripts de servidor (PHP, Node.js): procesan solicitudes web y generan páginas web.

En la actualidad, los scripts a menudo se consideran scripts de navegador: conjuntos de comandos que están escritos para sitios web y se ejecutan en navegadores.

Los scripts en un sitio web proporcionan interactividad. Los formularios emergentes, la carga de contenido cuando el usuario llega al final de la cinta, las notificaciones emergentes y muchas animaciones, todo esto aparece mediante scripts.

Generalmente, estos scripts se escriben en JavaScript.

En 1995, para el navegador Netscape Navigator 2.0, se creó el lenguaje de programación LiveScript. Al principio, solo podía verificar datos en formularios en los sitios web. Pronto, las capacidades del lenguaje se ampliaron y se cambió su nombre a JavaScript. Con el tiempo, todos los navegadores importantes comenzaron a admitir JavaScript. Hoy en día, está integrado en todos los navegadores modernos y se considera clave en el desarrollo web.

JavaScript se integra en el código HTML de las páginas web mediante la etiqueta <script>

Hay también extensiones de navegador: Tampermonkey y Greasemonkey. Con ellas, se instalan y ejecutan scripts de usuario en diferentes sitios web, se modifican páginas web, se envían solicitudes a ellas y también se descargan archivos.

Las posibilidades de los scripts de navegador son limitadas: no pueden interactuar directamente con el sistema operativo.

Scripts y plugins

Los scripts se parecen un poco a los plugins: dan al sitio una nueva funcionalidad y amplían sus posibilidades. Los scripts no tienen interfaz gráfica: son simplemente líneas de código que funcionan de forma autónoma. Todo lo que necesitan es un entorno de ejecución del lenguaje de programación. Para modificar un script, hay que reescribirlo.

Sin embargo, los plugins son módulos completos, a menudo con su propia interfaz gráfica. Se conectan a través de API al sistema principal: por ejemplo, al servidor en el que se despliega la aplicación o el sitio web, y añaden funciones determinadas. Un plugin se puede desactivar en cualquier momento. Sin embargo, es más difícil de modificar y pesa más.

Por ejemplo, en el programa Vim hay scripts que pueden automatizar tareas, pero no tienen interfaz visual. En Figma hay plugins que pueden buscar y reemplazar texto. Tienen sus propios ajustes e interfaz.

Lenguajes de Script y Programación

En todos los lenguajes de programación se pueden escribir scripts, pero algunos se adaptan peor a esta tarea:

  • Lenguaje para la interacción directa con el hardware: lenguaje ensamblador.
  • Lenguajes fuertemente tipados: C y C++.
  • Lenguajes especiales. Por ejemplo, el lenguaje de consultas a bases de datos SQL.
  • Lenguajes de maquetación: HTML y CSS. Sin embargo, ni siquiera son lenguajes de programación.
Vista frontal del código HTML de la página web con Script
Vista frontal del código HTML de la página web con Script

¿Qué tipos de lenguajes de script existen?

Hay muchos lenguajes de programación para escribir scripts. Los lenguajes universales, que se pueden utilizar para desarrollar aplicaciones en diferentes plataformas, se consideran:

  • Ruby. Se utiliza en el desarrollo web.
  • Perl. Procesa texto, recopila y estructura datos.
  • Python. Se utiliza para el desarrollo web, el análisis de datos, la automatización de tareas y mucho más.

Algunos lenguajes están diseñados específicamente para el desarrollo web.

  • PHP. Se utiliza para escribir código para la parte del servidor de las aplicaciones web.
  • JavaScript. Hace que las páginas web sean interactivas.

Otros lenguajes se utilizan para automatizar tareas en los sistemas operativos.

  • PowerShell. Se utiliza para automatizar tareas en Windows.
  • Bash. Lenguaje de shell de comandos Unix/Linux para automatizar tareas.

Ruby y Python también pueden añadir funcionalidad a las aplicaciones. Pero también existen lenguajes creados específicamente para ampliar las capacidades de aplicaciones individuales, como las aplicaciones de Microsoft:

  • VBScript,
  • JScript.

La mayoría de los lenguajes de script son interpretados, no compilados. Los lenguajes compilados primero compilan el código: traducen todo el programa escrito al lenguaje de la máquina y solo entonces comienzan la ejecución. Los lenguajes interpretados traducen el programa al lenguaje de la máquina a medida que se ejecuta el script.

Cómo se Ven los Scripts

Los scripts contienen cualquier elemento del lenguaje de programación: desde las variables, que almacenan datos, hasta los controladores de eventos, que reaccionan a las acciones del usuario. Los métodos para conectarlos dependen del lenguaje de programación.

En JavaScript, los scripts empiezan con la etiqueta <script>. Esta etiqueta incrusta el código en la página web.

<script>
// Aquí se escribe el código del script
</script>

Un script simple puede constar de una función. Por ejemplo, la función showGreeting() se ejecutará cuando el usuario haga clic en un botón de la página web.

<script>
function showGreeting() {
// Aquí estará el código de la función showGreeting
}

Para escribir una función de este tipo, el sitio debe tener:

  • Un elemento en el que el usuario pueda introducir su nombre: por ejemplo, <input id="name" type="text">
  • Un elemento en el que podamos insertar el texto de bienvenida.

Entonces se puede completar la función:

<script>
function showGreeting() {
  // Obtenemos el valor del elemento con id "name"
  var name = document.getElementById("name").value;
  // Encontramos el elemento con id "greeting" y establecemos su texto
  // usando el valor ingresado
  document.getElementById("greeting").innerText = "Hola, " + name + "!";
}
</script>

Cuando el usuario haga clic en el botón, llamará a la función showGreeting(), y esta actualizará el texto dentro del elemento greeting a «Hola, [nombre del usuario]! «.

Variables, condiciones y bucles en un script

Las variables, las condiciones y los bucles son las principales estructuras con las que se pueden escribir programas con lógica de diferentes complejidades.

Las variables almacenan datos y se pueden modificar o utilizar en diferentes partes del script. Es como un contenedor etiquetado: se pueden guardar cosas del tipo que se indique.

Por ejemplo, se puede crear la variable age, en la que se puede guardar la edad.

let age = 18;

Se puede hacer que el código se ejecute solo si la condición es verdadera, lo que se establece mediante dos estructuras principales: if (si) y else (entonces). En JavaScript y Python, las condiciones tienen un aspecto similar.

En JavaScript:

let age = 18;
if (age >= 18) {
  console.log("Puedes ver esta sección");
} else {
  console.log("No tienes derechos para ver esta sección");
}

En Python:

age = 18
if age >= 18:
  print("Puedes ver esta sección")
else:
  print("No tienes derechos para ver esta sección")

Los bucles ejecutan un bloque de código varias veces (por ejemplo, repiten una tarea). Recorren los valores de los datos recibidos hasta que se acaben o hasta que se resuelva la tarea.

Por ejemplo, este script recorrerá la lista de nombres y notificará al usuario si tiene derecho a ver la sección actual o no:

En JavaScript:

let users = [
  { name: "Anna", age: 20 },
  { name: "Ivan", age: 16 },
  { name: "Peter", age: 23 }
];

for (let i = 0; i < users.length; i++) {
  if (users[i].age >= 18) {
    console.log("Hola, " + users[i].name + "! Puedes ver esta sección.");
  } else {
    console.log("Hola, " + users[i].name + "! No tienes derechos para ver esta sección.");
  }
}

En Python:

users = [
    {"name": "Anna", "age": 20},
    {"name": "Ivan", "age": 16},
    {"name": "Peter", "age": 23}
]

for user in users:
    if user["age"] >= 18:
        print(f"Hola, {user['name']}! Eres mayor de edad.")
    else:
        print(f"Hola, {user['name']}! No tienes derechos para ver esta sección.")

Si te parece que Python tiene una sintaxis muy clara, tienes razón: se considera uno de los más simples entre los lenguajes de programación universales. Si quieres aprender a trabajar con Python, toma el siguiente curso.

Curso de Programación en Python

Cómo Usar los Scripts en un Sitio Web

Los scripts en JS se pueden escribir directamente en el documento HTML del sitio web. HTML es el documento principal de una página web, creado con el lenguaje de maquetación HTML. En él se describen todos los bloques y elementos que hay en la página.

Para incrustar código en JS directamente en HTML, hay que colocar en él todo el código desde la etiqueta de apertura <script> hasta la de cierre </script>. Normalmente se escribe al final de la etiqueta <body>, para que JS no se cargue primero y no ralentice la carga de la página.

Cuanto más grande sea el sitio web, mayor será su código HTML. Y cuantos más scripts haya, más código habrá que añadir directamente al documento HTML. Por eso, es mejor conectar el código JS a través de un archivo externo.

<script src="ruta/del/script.js"></script>

En lugar del propio código, colocamos en la etiqueta <script> la ruta al archivo con el código JS.

Hoy en día, solo JavaScript es compatible con todos los navegadores modernos y se puede ejecutar en el lado del cliente. Los scripts en otros lenguajes deben compilarse en JavaScript o utilizarse en el lado del servidor para generar HTML. Por ejemplo, Python utiliza frameworks: módulos adicionales para generar HTML.

Ventajas de la Automatización con un Script

Fuera del desarrollo web, los scripts se utilizan principalmente para no realizar tareas rutinarias simples. Los scripts pueden unir datos de diferentes bases en una sola grande, analizarlos, comprobar grandes volúmenes de datos en busca de amenazas.

La automatización es útil en diferentes áreas, por lo que han aparecido servicios especiales que crean automatizaciones de scripts a petición de los usuarios:

  • Make combina diferentes aplicaciones web y servicios.
  • IFTTT configura acciones automáticas entre servicios y dispositivos, incluidos los domésticos.
  • Zapier conecta aplicaciones web y servicios.
  • Microsoft Power Automate automatiza los procesos en Microsoft 365 y conecta otras aplicaciones.

La automatización se está introduciendo activamente incluso en la publicidad: en 2012, Google AdWords introdujo la posibilidad de utilizar scripts para gestionar las campañas publicitarias.

Hay muchas razones por las que la gente prefiere automatizar la rutina.

Optimización de los procesos

Los scripts realizan las tareas más rápido y con más precisión, lo que ahorra tiempo y recursos. La automatización reduce el riesgo de errores en las tareas monótonas y repetitivas. Los scripts siempre realizan las tareas de la misma manera, siguiendo las reglas establecidas.

Mayor precisión

Los scripts procesan eficazmente grandes conjuntos de datos. No se ven afectados por el factor humano: no pueden cansarse ni perderse algo por falta de atención. Comprueban los datos en busca de errores y amenazas, y los combinan de diferentes fuentes con alta precisión.

Personalización de las tareas

Los scripts se pueden configurar fácilmente para tareas específicas. Se actualizan y amplían fácilmente con la aparición de nuevas tareas.

Desventajas y Posibles Problemas con el Uso de un Script

Las desventajas de la automatización de la rutina con scripts son evidentes.

  • Algunas tareas son difíciles o imposibles de automatizar: si la tarea debe resolverse de forma no estándar y creativa, el script no podrá hacerla.
  • La preparación de los datos para que funcione el script puede llevar mucho tiempo.
  • Si los datos de entrada, las tareas y las condiciones del proceso configurado cambian a menudo, la automatización saldrá más cara y será menos eficiente que el trabajo manual habitual.

Lo Esencial sobre los Scripts

  • Un script es un conjunto de comandos para realizar tareas en un lenguaje de programación. A menudo se utilizan para automatizar procesos: publicar entradas y enviar correos electrónicos, recopilar datos, iniciar animaciones o cambiar interfaces.
  • Los scripts aparecieron en las décadas de 1960-1980. Se utilizaban para automatizar tareas en ordenadores. Por ejemplo, en el lenguaje Unix Shell, para iniciar programas.
  • En la actualidad, los scripts se utilizan para crear aplicaciones web interactivas, automatizar tareas en sistemas operativos, procesar solicitudes web y generar páginas web.
  • Los scripts automatizan tareas sin interfaz gráfica, a diferencia de los plugins, que pueden tener su propia interfaz y se conectan a través de API a diferentes sistemas.
  • Para escribir scripts, se utilizan lenguajes universales (Ruby, Perl, Python) y especializados: PHP para la parte del servidor y JavaScript para páginas web interactivas.
  • Las variables, las condiciones y los bucles permiten almacenar datos, ejecutar código bajo ciertas condiciones y realizar acciones repetidas, al tiempo que proporcionan variedad y flexibilidad en el funcionamiento de los programas.
  • Los scripts en JavaScript se pueden integrar en un documento HTML o conectarse a través de archivos externos, lo que ayuda a evitar la sobrecarga del código HTML.
  • Los servicios Make, IFTTT, Zapier y Microsoft Power Automate permiten crear automatizaciones: conectar diferentes aplicaciones web y dispositivos.
  • Con la ayuda de los scripts, se pueden optimizar los procesos gracias a la velocidad y precisión con la que se realizan las tareas, se puede eliminar el factor humano y la posibilidad de configuración individual para tareas específicas.
  • Algunas tareas son difíciles de automatizar, la preparación de los datos puede ser laboriosa y los cambios frecuentes en el proceso pueden hacer que la automatización sea ineficaz y costosa.

Categorizado en:

Fundamentos,