Los computadores interpretan (comprenden) un lenguaje muy simple llamado lenguaje de máquina. Cada instrucción del lenguaje de máquina es elemental.
Un programa escrito en lenguaje de máquina necesita muchas instruccciones para hacer cosas simples (es decir, es difícil de escribir) y sólo funciona en un computador del mismo tipo.
Los lenguajes de programación de alto nivel constituyen un paso evolutivo y pretenden brindar cierto nivel de abstracción e independencia del computador.