Los lenguajes de programación son conjuntos de reglas que controlan el comportamiento de las computadoras y pueden clasificarse como de bajo o alto nivel dependiendo de si dependen de la máquina o no. Existen lenguajes imperativos que describen el estado del programa y cambios de estado, lenguajes funcionales basados en funciones matemáticas, y lenguajes lógicos que aplican conocimientos lógicos al diseño de lenguajes.