El Paradigma Imperativo
describe la programación como una secuencia instrucciones o comandos que cambian el estado de un programa. El código máquina en general está basado en el paradigma imperativo. Su contrario es el paradigma declarativo. En este paradigma se incluye el paradigma procedimental (procedural) entre otros o por procedimientos es considerado el más común y está representado, por ejemplo, por el C o por BASIC.
El Paradigma Funcional
está
representado por la familia de lenguajes LISP (en particular Scheme), ML o
Haskell. Este paradigma concibe a
la computación como la evaluación de funciones matemáticas y evita declarar y
cambiar datos. En otras palabras, hace hincapié en la aplicación de las
funciones y composición entre ellas, más que en los cambios de estados y la
ejecución secuencial de comandos (como lo hace el paradigma procedimental).
Permite resolver ciertos problemas de forma elegante y los lenguajes puramente
funcionales evitan los efectos secundarios comunes en otro tipo de
programaciones.
El Paradigma Lógico
se basa
en la definición de reglas lógicas para luego, a través de un motor de
inferencias lógicas, responder preguntas planteadas al sistema y así resolver
los problemas. Ej.: prolog.
El Paradigma Orientado a objetos
está basado en la idea de encapsular estado y operaciones en objetos. En
general, la programación se resuelve comunicando dichos objetos a través de
mensajes (programación orientada a mensajes). Se puede incluir -aunque no
formalmente- dentro de este paradigma, el paradigma basado en objetos, que
además posee herencia y subtipos entre objetos. Ej.: Simula, Smalltalk, C++,
Java, Visual Basic .NET, etc.
Su principal ventaja es la reutilización de códigos y su facilidad para pensar
soluciones a determinados problemas.