Programación declarativa - imperativa
¿Qué es la programación declarativa e imperativa?
Programación
declarativa vs imperativa
La programación declarativa
e imperativa son dos paradigmas de programación comunes. La diferencia clave
entre la programación declarativa y la imperativa es que la programación
declarativa se enfoca en lo que el programa pretende lograr, mientras que la
programación imperativa se enfoca en cómo el programa pretende lograr el
resultado.
Un paradigma de
programación se utiliza para clasificar un lenguaje de programación según su
función. También permite seguir un patrón o estilo específico para resolver un
problema específico.
¿Qué es la programación declarativa?
La programación
declarativa se puede explicar utilizando un escenario del mundo real.
Supongamos que el usuario necesita buscar nuevos correos electrónicos. Un
método es activar las notificaciones de la bandeja de entrada. El usuario solo
tiene que activar las notificaciones una vez, y cada vez que llegue un nuevo
correo electrónico, recibirá una notificación automáticamente. La programación
declarativa es similar. Ofrece sencillez. La programación declarativa expresa
el resultado requerido. Explica la lógica de un cálculo sin describir el flujo
de control.
Este paradigma a su vez
se divide en dos:
Programación lógica:
prolog
Programación funcional:
lisp, scala, java, kotlin
¿Qué es la Programación Imperativa?
Como antes, la programación imperativa se puede explicar utilizando un escenario del mundo real. Para verificar los nuevos correos electrónicos, el usuario puede iniciar sesión en Gmail y actualizar la página para verificar si ha recibido nuevos correos electrónicos o no. Esto es similar a la programación imperativa. Explica cada paso para lograr el resultado. Utiliza declaraciones para expresar los cambios en el estado del programa.
Otros modelos dependientes al paradigma de programaón son:
- Programación estructurada: La programación estructurada es un tipo de programación imperativa donde el flujo de control se define mediante bucles anidados, condicionales y subrutinas, en lugar de a través de GOTO.
- Programación procedimental: Este paradigma de programación consiste en basarse en un número muy bajo de expresiones repetidas, englobarlas todas en un procedimiento o función y llamarlo cada vez que tenga que ejecutarse.
- Programación modular: consiste en dividir un programa en módulos o subprogramas con el fin de hacerlo más manejable y legible. Se trata de una evolución de la programación estructurada para resolver problemas de programación más complejos.


