LogicAdemy.dev
Skip to Content
Lenguajes y entornos de ejecución

⚙️ Lenguajes y entornos de ejecución

Cada lenguaje necesita un entorno de ejecución,
es decir, un lugar donde su código pueda ser interpretado o compilado y finalmente ejecutado.

El lenguaje define la lógica.
El entorno define dónde y cómo esa lógica cobra vida.


🔹 Qué es un entorno de ejecución

Un entorno de ejecución (o runtime environment)
es el conjunto de recursos que permiten que un programa funcione correctamente:
el sistema operativo, los intérpretes, las bibliotecas y los permisos necesarios.

Podemos pensarlo como el “ecosistema” donde vive el código.

Cada entorno tiene sus propias reglas, limitaciones y posibilidades.


🔹 Dos grandes familias de entornos

Tipo de entornoCaracterísticas principalesEjemplo de lenguajes
De Sistema OperativoAcceden directamente al hardware y archivos.Python, Go, C.
De NavegadorEstán aislados del sistema por seguridad (sandbox).JavaScript, HTML, CSS.

🖥️ Entornos de Sistema Operativo

Los programas que corren en un sistema operativo pueden interactuar con el hardware y manejar recursos del sistema.

Ejemplo: leer o escribir archivos, abrir conexiones, crear procesos, etc.

🐍 Python

with open("datos.txt", "w") as f: f.write("Guardando datos desde Python")

🐹 Go

package main import "os" func main() { f, _ := os.Create("datos.txt") f.WriteString("Guardando datos desde Go") f.Close() }

Estos lenguajes pueden modificar el entorno real,
por eso requieren control de permisos y seguridad del sistema.


🌐 Entornos de Navegador

El navegador es un entorno seguro y aislado.
Los lenguajes que corren en él —como JavaScript, HTML y CSS—
no pueden acceder directamente al sistema operativo, archivos o hardware del usuario.

Su función es controlar la interfaz visual y la interacción con el usuario.

⚡ JavaScript (en el navegador)

<button onclick="alert('Hola desde el navegador!')">Haz clic</button>

Aquí el código no guarda archivos ni modifica el sistema:
solo responde a la acción del usuario dentro del entorno web.


🔹 Seguridad y aislamiento

El navegador impone un modelo de seguridad por diseño:
cada programa se ejecuta en una “caja de arena” (sandbox).

  • No puede leer ni escribir archivos del usuario.
  • No puede acceder al hardware directamente.
  • No puede ejecutar programas del sistema.

Esto protege al usuario, pero limita el control sobre el entorno físico.

En cambio, los lenguajes de sistema no están aislados,
lo que les da poder pero también responsabilidad.


🔹 Ejemplo comparativo

Supongamos que queremos mostrar la hora actual.

🐍 Python

import datetime print(datetime.datetime.now())

⚡ JavaScript (navegador)

console.log(new Date());

🐹 Go

package main import ( "fmt" "time" ) func main() { fmt.Println(time.Now()) }

Los tres hacen lo mismo,
pero en Python y Go se ejecutan en el sistema operativo,
mientras que JavaScript se ejecuta dentro del navegador (en su propio sandbox).


🔹 Entornos híbridos

Existen entornos que combinan ambos mundos:
por ejemplo Node.js, que permite ejecutar JavaScript fuera del navegador,
y frameworks como Electron que mezclan lógica del sistema con interfaz web.

La frontera entre “navegador” y “sistema” ya no es absoluta,
pero entenderla es clave para comprender cómo se ejecuta la lógica.


🧭 Conclusión

El entorno define el contexto de la ejecución.
No es lo mismo escribir código para controlar una interfaz web
que escribir un programa que accede al disco o a la red del sistema.

El lenguaje expresa la lógica.
El entorno le da cuerpo, límites y poder.

Conocer los entornos de ejecución es el primer paso para dominar
cómo y dónde la lógica se transforma en acción.

Last updated on