Los lenguajes de programación pueden ser imperativos o funcionales. Los lenguajes imperativos usan comandos secuenciales mientras que los funcionales usan funciones. Además, los lenguajes pueden ser interpretados o compilados, donde los interpretados usan un intérprete y los compilados crean un ejecutable.