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 |