Los lenguajes de programación se dividen en tres niveles: bajo nivel, que controlan directamente el hardware; medio nivel, que se basan en los juegos de instrucciones disponibles; y alto nivel, que son más parecidos al lenguaje humano. Los lenguajes también pueden ser compilados, traduciéndose a lenguaje de máquina, o interpretados, requiriendo un intérprete. Dentro de los lenguajes existen los imperativos, basados en instrucciones, los declarativos, basados en lógica y mate