Los lenguajes imperativos se basan en procedimientos y órdenes que especifican pasos secuenciales. Algunos ejemplos son C, Java, Perl y PHP. Los lenguajes declarativos se basan más en las matemáticas y la lógica. La programación orientada a objetos usa conceptos como objetos, clases, herencia y envío de mensajes.