Cómo los compiladores convierten código en programas — Informática, 14–17 años
Un programa escrito por una persona aún no está en el formato que puede ejecutar un procesador. Los compiladores e intérpretes salvan esa distancia: comprueban el código y lo traducen en acciones.
El código fuente necesita un traductor
Escribes código fuente para que lo lean las personas, con palabras como print o if. Un procesador entiende instrucciones mucho más sencillas, así que un compilador traduce todo el programa antes de ejecutarlo, mientras un intérprete traduce y ejecuta una parte cada vez. La intención del programa no cambia.
¿Por qué necesitamos traducir?
El problema es que las personas necesitan nombres y estructuras legibles, pero los procesadores necesitan patrones exactos de instrucciones. Los primeros programadores podían introducir instrucciones de máquina directamente, pero era lento, frágil y difícil de revisar. Los lenguajes y traductores aparecieron para describir tareas sin reescribir cada detalle del procesador.
De una línea a una acción
Tomemos la línea print(2 + 3). Primero, el traductor reconoce print como una instrucción para mostrar algo. Después comprueba que 2 + 3 es válido y calcula el valor 5, o crea instrucciones para que el procesador lo calcule. Por último, el programa envía 5 a la pantalla.
Un compilador no lo arregla todo
Es común pensar que, si el código compila, tiene que ser correcto. Es razonable, porque el traductor ha comprobado la gramática y algunos tipos. Pero print(2 - 3) puede compilar perfectamente y dar un resultado inesperado; un programa puede funcionar y resolver el problema equivocado. Traducir comprueba la forma, no todas las intenciones.
Dónde importan los traductores
Cada vez que instalas una aplicación compilada o ejecutas código en un navegador, algún traductor ha ayudado a prepararlo. Un compilador puede optimizar un juego para que responda rápido, mientras un intérprete facilita probar un pequeño programa en varios sistemas. La elección afecta a la velocidad, la portabilidad y el momento en que aparece un error.
Sigue explorando
Otros idiomas
Cargando MyLeoNes™…