Los principales tipos de compiladores de computadora son compiladores de paso único, compiladores de paso múltiple, compiladores cruzados y compiladores de optimización. Un compilador toma un lenguaje de computadora, llamado código fuente, y lo convierte al idioma de destino . Permite que una computadora pueda leer diferentes códigos fuente. Un compilador hace que el software sea más rápido y use menos memoria.
Los compiladores se consideran tipos específicos de traductores de computadora. Traducen los códigos fuente de un lenguaje de alto nivel a un lenguaje de nivel inferior, como los códigos de máquina y el código de ensamblaje.
Un compilador cruzado es uno que puede ejecutarse en un sistema operativo de computadora que es diferente del sistema operativo que normalmente utiliza el programa. Desglosa los códigos binarios, los entiende y permite a los programadores de computadoras acceder a los códigos.
Un compilador es un programa de computadora escrito en lenguaje de implementación. El primer compilador capaz de compilar su propio código fuente fue desarrollado en 1962. En la década de 1990, los compiladores libres y las herramientas de desarrollo del compilador se desarrollaron masivamente. Los compiladores modernos son de alta calidad y están escritos en muchos tipos de idiomas. Un programa de compilación que convierte un programa de bajo nivel en uno de mayor nivel se conoce como un descompilador.