Compilador
Un programa que traduce código fuente a instrucciones que la computadora corre directo.
Un compilador es un programa que lee código fuente escrito en un lenguaje como C, Rust, Go o Swift y lo traduce entero, de antemano, a código máquina: las instrucciones de bajo nivel que ejecuta un tipo específico de CPU. El resultado es un archivo que corre por sí solo, como la app a la que le hacés doble clic, sin necesitar el código fuente original ni el compilador.
En el camino, el compilador revisa el código. Si llamás a algo que no existe, pasás texto donde va un número u olvidás cerrar un paréntesis, se niega a terminar y te marca la línea. También optimiza: reordena y simplifica las instrucciones para que el programa corra más rápido que una traducción literal. Esa es una de las razones por las que los programas compilados suelen ser veloces.
La alternativa es un intérprete, que lee el código y lo ejecuta en el momento, como hacen tradicionalmente Python y JavaScript. En la práctica la frontera es difusa. Java y C# se compilan a una forma intermedia que corre una máquina virtual, y los navegadores compilan JavaScript a código máquina mientras la página está abierta (compilación just-in-time). Como el código máquina depende de la familia de procesador, el mismo programa se tiene que compilar por separado para, por ejemplo, chips Intel y Arm.
Para quedarse
- Traduce el código fuente a código máquina antes de que el programa corra.
- Atrapa muchos errores temprano y no arma código roto.
- Optimiza el resultado, por eso los programas compilados suelen ser rápidos.
- El código máquina depende de la CPU: se compila distinto para Intel y para Arm.