Término que describe convenciones para escribir código fuente en ciertos lenguajes de programación.
Imperativo
La programación
imperativa es la forma
natural de programar un
computador.
Origen
Resultado de la arquitectura de Von Neumann, que establece una
secuencia de celdas, llamadas memoria, donde se guarda en forma
codificada los datos e instrucciones.
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.
Características
Programación aplicativa o funcional
Se utilizan estructuras de listas
Se utiliza almacenamiento en montículos
Lógico
Basado en la lógica de primer orden. La Programación Lógica
estudia el uso de la lógica para el planteamiento de problemas y el
control sobre las reglas de inferencia para alcanzar la solución
automática.
Características
Su principal aplicación es el desarrollo
de sistemas expertos
Se debe incorporar un motor de
inferencia que controle el proceso de
demostración
Se especifica el universo donde se
debe demostrar
Orientado a Objetos
Usa objetos y sus interacciones, para
diseñar aplicaciones y programas
informáticos. Está basado en varias
técnicas, incluyendo herencia,
abstracción, polimorfismo y
encapsulamiento.
Características
Estas técnicas aseguran la
reusabilidad de código.
Se pueden re-usar los comportamientos de
un objeto, ocultando o redefiniendo los
anteriores
Conjunto de técnicas que pueden utilizarse en cualquier lenguaje conocido.
Orientado al Evento
Basado en la lógica en el que se
estudian de forma simple muchos
aspectos avanzados de los
lenguajes de programación
modernos.
Características
Se basa en la POO
Son herramientas gráficas de programación
Contienen y permiten crear objetos estándar
Declarativo
La programación declarativa es un término que
agrupa los siguientes paradigmas de programación:
Programación lógica
Programación funcional
Lenguajes de dominio específico (DSLs)
Lenguajes híbridos
Estructurada
Orientado a mejorar la claridad, calidad y
tiempo de desarrollo de un programa de
computadora, utilizando únicamente
subrutinas y tres estructuras: secuencia,
selección (if y switch) e iteración (bucles for y
while).
Transferencia incondicional:
GOTO
EXIT FUNCTION
EXIT SUB
RETURNS
Dirigido por Eventos
En el que el flujo del programa está determinado por eventos o
mensajes desde otros programas o hilos de ejecución.
Modular
Consiste en dividir un programa en módulos o
subprogramas con el fin de hacerlo más legible y
manejable.
Con restricciones
Las relaciones entre las
variables son expresadas
en términos de
restricciones
(ecuaciones).
Dominios de aplicación:
Booleanos
Variables enteras y racionales
Lineales
Finitos
Mixtos
Orientado a Componentes
Extensión natural de la programación orientada a objetos (POO), que
tiene como propósito contrarrestar las limitaciones de esta, como la
falta de una unidad concreta de composición independiente en las
aplicaciones, y la definición de interfaces a bajo nivel, que dificultan
la reutilización comercial de objetos.
Orientado a Aspectos
Paradigma de programación que intenta formalizar
y representar de forma concisa los elementos que
son transversales a todo el sistema
Orientado al Formato
Son lenguajes interpretes que permiten
internamente declarar los formatos de salida del
texto, imagen, gráfica, etc.