Los programas escritos por programadores generalmente se escriben en lenguajes de alto nivel, como c/c++ y series visuales orientadas a objetos. El programa escrito de esta manera no puede ser interpretado directamente por la computadora: cuando el programa se está ejecutando, toma una instrucción, la convierte en una instrucción de máquina y luego ejecuta la instrucción de máquina. De esta manera, todo el programa debe volver a traducirse cada vez que se ejecuta, lo cual es ineficiente y lento de ejecutar, como QB, pero este lenguaje de diseño ineficiente rara vez se usa ahora.
Método de compilación: antes de ejecutar el programa, compile todos los códigos del programa en código de máquina y luego ejecute el programa. Luego, el archivo binario traducido se puede ejecutar directamente cada vez que se ejecuta. Este programa sólo necesita ser traducido una vez, lo que obviamente es mucho más eficiente. La mayoría de los lenguajes ahora usan este método, y ASP.NET en páginas web también usa este método. La ejecución ocurre porque las computadoras solo pueden ejecutar programas binarios. Entonces tienes que pasar por un proceso de traducción del código fuente a binario. La computadora no puede aceptar ni ejecutar directamente programas fuente escritos en lenguajes de alto nivel. Cuando los programas fuente se ingresan en la computadora, la computadora solo puede reconocerlos y ejecutarlos traduciéndolos a programas de destino en lenguaje de máquina. Esta "traducción" suele ocurrir de dos maneras: compilación e interpretación.