LogicAdemy.dev
Skip to Content
Código fuente, compilación y ejecución (Runtime)

⚙️ Código fuente, compilación y ejecución (Runtime)

Todo programa comienza como una idea escrita en texto.
Ese texto, el código fuente, debe pasar por una serie de transformaciones hasta convertirse en instrucciones que la CPU puede entender.

La ejecución de un programa es el momento en que la lógica se vuelve acción.


🔹 Qué es el código fuente

El código fuente es el conjunto de instrucciones escritas por el programador en un lenguaje legible por humanos.
Puede ser Python, JavaScript, Go u otro lenguaje, pero todos comparten un mismo propósito: describir una secuencia lógica de acciones.

Ejemplo simple en tres lenguajes:

🐍 Python

print("Hola, mundo")

⚡ JavaScript

console.log("Hola, mundo");

🐹 Go

package main import "fmt" func main() { fmt.Println("Hola, mundo") }

A primera vista parecen distintos, pero todos hacen lo mismo:
instruyen al sistema para mostrar un mensaje en pantalla.


🔹 Del código al programa ejecutable

El hardware no entiende texto, solo binario (ceros y unos).
Por eso, el código debe transformarse a un formato que la máquina pueda procesar.
Este proceso se realiza mediante compilación o interpretación.

Tipo de lenguajeProcesoResultado
CompiladoTraduce todo el código antes de ejecutarse.Binario o ejecutable.
InterpretadoTraduce y ejecuta línea por línea.Resultado inmediato.
Híbrido (JIT)Combina ambos métodos según necesidad.Mejora el rendimiento.

🔹 Ejemplo práctico

Supongamos que tenemos un programa simple que suma dos números:

🐍 Python (interpretado)

a = 5 b = 7 print(a + b)

➡️ Python lo lee línea por línea usando su intérprete (python).
No genera un archivo ejecutable; ejecuta directamente las instrucciones.


⚡ JavaScript (JIT — Just In Time)

let a = 5; let b = 7; console.log(a + b);

➡️ El motor V8 (usado por Node.js o Chrome) traduce el código a bytecode y lo ejecuta casi en tiempo real.
Es un modelo intermedio entre interpretación y compilación.


🐹 Go (compilado)

package main import "fmt" func main() { a := 5 b := 7 fmt.Println(a + b) }

➡️ El compilador de Go traduce el programa completo a un archivo binario.
Luego puede ejecutarse directamente sin necesidad de intérprete:

go build programa.go ./programa

En Go, el resultado es un programa autónomo.
En Python y JavaScript, dependes del entorno de ejecución.


🔹 El rol del runtime

El runtime es el entorno que permite ejecutar un lenguaje interpretado o híbrido.
Incluye todo lo necesario para gestionar memoria, errores, variables y procesos.

LenguajeRuntimeFunción principal
PythonIntérprete (python.exe o python3)Traduce y ejecuta el código.
JavaScriptMotor (V8, SpiderMonkey)Convierte JS a código máquina en tiempo real.
GoBinario + runtime internoIncluye su propio manejador de memoria y procesos.

El runtime es el “ecosistema” donde vive tu programa.


🔹 Compilación y errores

Durante la compilación o ejecución, el sistema puede encontrar errores sintácticos o lógicos:

  • Errores de sintaxis: el código está mal escrito.
  • Errores de ejecución: el código se ejecuta, pero falla (por ejemplo, dividir por cero).
  • Errores lógicos: el programa corre, pero no hace lo esperado.

La depuración es el proceso de usar la lógica para encontrar qué parte del código rompe la coherencia.


🔹 De la lógica al proceso

Podemos resumir todo el flujo así:

Cada paso traduce la lógica humana en acciones físicas sobre el hardware.


🧭 Conclusión

Comprender el ciclo entre código, compilación y ejecución es comprender cómo las ideas se transforman en acciones dentro del sistema.
No importa el lenguaje: Python, JavaScript o Go, todos siguen el mismo principio lógico.

La lógica se escribe en código,
el compilador la traduce,
y el hardware la hace realidad.

Last updated on