•La programación imperativa, en contraposición a la programación
declarativa, es un paradigma de programación que describe la
programación en términos del estado del programa y sentencias que
cambian dicho estado. Los programas imperativos son un conjunto de
instrucciones que le indican al computador cómo realizar una tarea.
FUNCIONAL
•En ciencias de la computación, la programación funcional es
un paradigma de programación declarativa basado en el uso
de funciones matemáticas, en contraste con la programación
imperativa, que enfatiza los cambios de estado mediante la
mutación de variables. La programación funcional tiene sus
raíces en el cálculo lambda, un sistema formal desarrollado
en los años 1930 para investigar la definición de función, la
aplicación de las funciones y la recursión. Muchos lenguajes
de programación funcionales pueden ser vistos como
elaboraciones del cálculo lambda.
LÓGICA
•La programación funcional se basa en el concepto de función
(que no es más que una evolución de los predicados), de corte
más matemático. La programación lógica gira en torno al
concepto de predicado, o relación entre elementos.
DECLARATIVA
•La programación declarativa, en contraposición a la
programación imperativa, es un paradigma de programación
que está basado en el desarrollo de programas especificando
o "declarando" un conjunto de condiciones, proposiciones,
afirmaciones, restricciones, ecuaciones o transformaciones
que describen el problema y detallan su solución. La solución
es obtenida mediante mecanismos internos de control, sin
especificar exactamente cómo encontrarla (tan sólo se le
indica a la computadora qué es lo que se desea obtener o qué
es lo que se está buscando). No existen asignaciones
destructivas, y las variables son utilizadas con transparencia
referencial.
PROCEDIMIENTOS
•Es el paradigma original de programación y quizá todavía el
de uso más común. En él, el programador se concentra en el
procesamiento, en el algoritmo requerido para llevar a cabo el
cómputo deseado. Los lenguajes apoyan este paradigma
proporcionando recursos para pasar argumentos a las
funciones y devolviendo valores de las funciones. FORTRAN es
el lenguaje de procedimientos original, Pascal y C son
inventos posteriores que siguen la misma idea. La
programación estructurada se considera como el
componente principal de la programación por
procedimientos.
MODULAR
•Con los años, en el diseño de programas se dio mayor énfasis
al diseño de procedimientos que a la organización de la
información. Entre otras cosas esto refleja un aumento en el
tamaño de los programas. La programación modular surge
como un remedio a esta situación. A menudo se aplica el
término módulo a un conjunto de procedimientos afines
junto con los datos que manipulan. Así, el paradigma de la
programación modular consiste en: a) Establecer los módulos
que se requieren para la resolución de un problema. b) Dividir
el programa de modo que los procedimientos y los datos
queden ocultos en módulos. Este paradigma también se
conoce como principio de ocultación de procedimientos y
datos. Aunque C++ no se diseño específicamente para
desarrollar la programación modular, su concepto de clase
proporciona apoyo para el concepto de módulo.
ORIENTADA A OBJETOS
•El problema con la abstracción de datos es que no hay ninguna distinción entre las
propiedades generales y las particulares de un conjunto de objetos. Expresar esta
distinción y aprovecharla es lo que define a la OOP a través del concepto de
herencia. El paradigma de la programación orientada a objetos es, entonces: a)
Definir que clases se desean b) Proporcionar un conjunto completo de operaciones
para cada clase c) Indicar explícitamente lo que los objetos de la clase tienen en
común empleando el concepto de herencia.