Un lenguaje de programación representa un computador abstracto capaz de entender los términos utilizados en ese lenguaje, que pueden ser más abstractos que los objetos utilizados por la maquina real.