Compiladores e intérpretes
Un lenguaje de programación está diseñado para ser sencillo de leer y escribir por personas. Pero el hardware de un equipo no es capaz de comprender este lenguaje.
Un equipo, y más concretamente una CPU, entiende únicamente un lenguaje llamado código máquina. Este código máquina es muy simple para la máquina pero muy pesado de escribir para una persona, ya que solo consta de ceros y unos:
El código máquina parece sencillo a simple vista, pero su sintaxis es más compleja y enrevesada que la de un lenguaje de programación de alto nivel. Muy pocos programadores escriben en este lenguaje y solo lo utilizan con fines muy concretos.
En lugar de eso, se crearon programas traductores que permiten a los programadores escribir en lenguajes de alto nivel y, a través de estos traductores, convertir los programas en código máquina (ceros y unos).
Dado que el código máquina está ligado al hardware de la máquina que lo ejecuta, este código no es portable entre equipos de diferente tipo. Los programas escritos en lenguajes de alto nivel pueden ser traducidos entre distintas máquinas usando traductores distintos.
Estos traductores se pueden dividir en dos grandes bloques: compiladores e intérpretes.