HER · Herramienta Herramientas

41.Intérprete y compilador

Los programas que traducen el código que escribimos a instrucciones que la computadora puede ejecutar, ya sea de una sola vez (compilador) o línea por línea (intérprete).

¿Qué es?

La computadora solo entiende lenguaje máquina (unos y ceros). Nosotros escribimos en lenguajes que parecen texto (print("Hola")). Alguien tiene que traducir, y hay dos formas:

  • Un compilador traduce todo el programa de una vez y genera un archivo ejecutable (por ejemplo, un .exe). Después ese archivo se ejecuta sin el compilador.
  • Un intérprete lee y ejecuta el programa instrucción por instrucción, cada vez que lo corres.

Es como traducir un libro: el compilador es el traductor que entrega el libro completo ya traducido; el intérprete es el intérprete en una conferencia, que traduce en vivo frase por frase.

Compilador Intérprete
Cuándo traduce Antes de ejecutar, todo junto Mientras ejecuta
Resultado Un ejecutable No genera ejecutable aparte
Errores Muchos se detectan al compilar Aparecen al llegar a esa línea
Velocidad Generalmente más rápido Generalmente más lento
Ejemplos C, C++, Go, Rust Python, JavaScript, PHP, PSeInt

Sintaxis (pseudocódigo / Python)

El mismo programa en un lenguaje compilado y en uno interpretado

C (compilado): primero se compila y luego se ejecuta el resultado.

// hola.c
#include <stdio.h>
int main(void) {
    printf("Hola\n");
    return 0;
}
gcc hola.c -o hola      ← compilar: genera el ejecutable «hola»
./hola                  ← ejecutar

Python (interpretado): se ejecuta directamente el archivo fuente.

# hola.py
print("Hola")
python hola.py          ← el intérprete lo lee y lo ejecuta

Ver el bytecode de Python

import dis

def sumar(a, b):
    return a + b

dis.dis(sumar)

Muestra las instrucciones intermedias (LOAD_FAST, BINARY_OP, RETURN_VALUE…) que la máquina virtual de Python ejecuta. Los nombres exactos cambian entre versiones.

Modo interactivo

El intérprete de Python también funciona como calculadora: escribe python en la terminal y aparece >>>, donde cada línea se ejecuta al presionar Enter.

>>> 2 + 3
5
>>> exit()

Ejemplo guiado

Problema: observar cuándo aparece cada tipo de error en Python.

1. Error de sintaxis: Python revisa todo el archivo antes de empezar; si encuentra uno, no ejecuta nada.

# ✗ Incorrecto: falta cerrar el paréntesis de la línea 2
print("Inicio")
print("Fin"
SyntaxError: '(' was never closed

Fíjate en que ni siquiera se imprime «Inicio».

2. Error de ejecución: el archivo es correcto, pero el error aparece al llegar a esa línea; lo anterior sí se ejecuta.

# ✗ Incorrecto a propósito
print("Inicio")
print(10 / 0)
print("Fin")
Inicio
ZeroDivisionError: division by zero

Conclusión: en un lenguaje compilado como C, muchos errores (incluidos los de tipos) aparecen al compilar; en Python, la mayoría aparecen al ejecutar, por eso conviene probar seguido.

Errores comunes

Buenas prácticas

  • Conoce qué versión usas: python --version.
  • Ejecuta y prueba con frecuencia, sobre todo en lenguajes interpretados.
  • Usa el modo interactivo para probar una idea rápida antes de ponerla en el programa.
  • Elige el lenguaje por el problema: compilados para velocidad o software de sistema; interpretados para aprender, automatizar y prototipar.

Material descargable

Aún no hay material descargable para este tema. Pronto habrá cuadernillos, manuales o laboratorios.

Referencias

© solutions_ · Fundamentos de programación · 41 Intérprete y compilador