Un error de compilación es un error al crear un archivo de código de máquina para un lenguaje de computadora. Muchos lenguajes de computadora compilan su código fuente en archivos de código de máquina antes de que los programas se puedan construir o ejecutar. El tipo más común de error de compilación es un error de sintaxis básico; un pequeño error puede causar muchos problemas con el código.
Los lenguajes de programación orientados a objetos más comunes, C ++ y Java®, utilizan la compilación de alguna forma. Esto es significativamente diferente de los lenguajes interpretados, que utilizan el código fuente sin procesar en tiempo de ejecución para ejecutar un programa. Un lenguaje no necesita estar intrínsecamente orientado a objetos para ser compilable; C ++, por ejemplo, se puede estructurar mediante programación orientada a objetos o procedimental.
La causa más común de errores de compilación es un error de sintaxis. Los errores de sintaxis son errores en la forma del código fuente sin procesar, generalmente causados por alguna violación de los principios del lenguaje informático. Estos errores pueden ser tan simples como olvidar un punto y coma al final de una línea de código, o tan complejos como inicializar una matriz de forma incorrecta. Por lo general, no es extremadamente difícil encontrar y diagnosticar estos errores; la mayoría de los compiladores muestran los errores cuando se encuentran y no permiten la formación de código de máquina hasta que se corrijan los errores. Sin embargo, los diferentes lenguajes usan diferentes compiladores, por lo que es posible que un tipo particular de error de compilación esté presente en un idioma, pero no en otro.
Dependiendo del lenguaje y del compilador utilizado, un error de compilación puede mostrar tantos errores. Por ejemplo, olvidar un punto y coma al final de una línea, cuando un lenguaje lo requiere, puede causar errores de análisis porque el compilador no sabe cuándo se supone que termina una línea en particular. Este error de análisis puede manifestarse como muchos errores de compilación, lo que hace que parezca que de repente hay problemas horribles con el código en lugar de un pequeño error tipográfico. En general, una cuidadosa atención a obedecer las reglas de un lenguaje informático puede prevenir este tipo de errores. De la misma manera, si aparece una avalancha repentina de errores de compilación, el programador experimentado generalmente puede inferir que un solo pequeño error causó la mayoría de ellos.
Un concepto erróneo común de los programadores novatos es que un error de compilación provocará la caída de una computadora, y este nunca es el caso. Los errores de compilación se limitan a los compiladores, y la creación de código de máquina rara vez causa problemas en todo un sistema informático. Ningún programa es infalible, incluido un compilador, pero las posibilidades de causar problemas con una computadora completa con solo compilar código o encontrar un error de compilación son extremadamente pequeñas. Una vez que se corrigen todos los errores de compilación, es muy probable que un programa se ejecute sin problemas, como estaba previsto.