Diferencia entre programación declarativa e imperativa

Diferencia clave - Declarativo vs Imperativo Programación
 

La programación declarativa e imperativa son dos paradigmas de programación comunes. los diferencia clave Entre la programación declarativa y la imperativa es que La programación declarativa se centra en lo que el programa debe lograr, mientras que la programación imperativa se centra en cómo el programa debe lograr el resultado.

Se utiliza un paradigma de programación para clasificar un lenguaje de programación según la característica. También permite seguir un determinado patrón o estilo para resolver un problema particular.

CONTENIDO

1. Resumen y diferencia clave
2. ¿Qué es la programación declarativa?
3. ¿Qué es la programación imperativa?
4. Comparación lado a lado: programación declarativa frente a imperativa en forma tabular
5. Resumen

¿Qué es la programación declarativa??

La programación declarativa se puede explicar utilizando un escenario del mundo real. Supongamos que el usuario debe comprobar si hay nuevos correos electrónicos. Un método es habilitar las notificaciones de la bandeja de entrada. El usuario debe habilitar las notificaciones solo una vez, y cada vez que llega un nuevo correo electrónico, recibe una notificación automáticamente. La programación declarativa es similar a eso. Proporciona simplicidad. La programación declarativa expresa cuál es el resultado requerido. Explica la lógica de un cálculo sin describir el flujo de control..

Figura 01: Paradigmas de programación

Un ejemplo de programación declarativa es el siguiente. Es multiplicar los números de una matriz por una constante y almacenarlos en una nueva matriz..

números var = [1,2,3];

var newnumbers = numbers.map (función (número)

números de retorno * 5;

);

Console.log (nuevos números);

En el ejemplo anterior, 'mapear' da instrucciones para iterar cada elemento de la matriz e invocar la función de devolución de llamada para cada elemento y almacenar el valor de retorno a la nueva matriz. Esto dará la salida 5,10,15. En este programa, el objetivo principal de multiplicar los números por 5 se logra usando la función de mapa. Recorrerá cada elemento y utilizará la función de devolución de llamada para calcular y almacenar los valores en la nueva matriz. No es obligatorio proporcionar todos los pasos. Se da el foco principal a lo que se debe lograr..

¿Qué es la programación imperativa??

La programación imperativa se puede explicar utilizando un escenario del mundo real como antes. Para revisar los nuevos correos electrónicos, el usuario puede iniciar sesión en gmail y actualizar la página para verificar si recibió nuevos correos electrónicos o no. Esto es similar a la programación imperativa. Explica cada paso involucrado para lograr el resultado. Utiliza declaraciones para expresar los cambios en el estado del programa..

Multiplicar los elementos de los arreglos con una constante y almacenar los valores en un nuevo arreglo en la programación imperativa es como sigue:.

números var = [1,2,3];

var newnumbers = [];

para (int i = 0; i< numbers.length ; i++)

newnumbers.push (números [i] * 5);

Console.log (nuevos números);

En el ejemplo anterior, los números son una matriz. Al pasar por el bucle, cada número se multiplica por 5 y se agrega a la matriz de números nuevos. Una vez finalizado el ciclo, se imprimirá el contenido de los números nuevos, que son 5,10,15..

Se puede observar que el estilo imperativo proporciona todos los pasos para lograr la tarea. Expresa cómo iterar en la matriz utilizando la variable de contador 'i', cuántas veces se debe iterar antes de salir del bucle y cómo insertar los valores calculados en las nuevas matrices, etc..

El mismo problema se resolvió utilizando programación declarativa e imperativa..

¿Cuál es la diferencia entre programación declarativa e imperativa??

Programación declarativa vs imperativa

La programación declarativa es un paradigma de programación que expresa la lógica de una computación sin describir su flujo de control.. La programación imperativa es un paradigma de programación que utiliza declaraciones que cambian el estado del programa..
 Enfoque principal
La programación declarativa se centra en lo que el programa debe lograr. La programación imperativa se centra en cómo el programa debe lograr el resultado..
Flexibilidad
La programación declarativa proporciona menos flexibilidad. La programación imperativa proporciona más flexibilidad..
 Complejidad
La programación declarativa simplifica el programa.. La programación imperativa puede aumentar la complejidad del programa..
Categorización
Programación funcional, lógica, consulta cae dentro de la programación declarativa. La programación de procedimientos y orientada a objetos cae dentro de la programación imperativa..

Resumen - Declarativo vs Imperativo Programación

Este artículo discutió la diferencia entre dos paradigmas de programación principales, que son la programación declarativa e imperativa. La diferencia entre la programación declarativa y la imperativa es que la programación declarativa se centra en lo que el programa debe lograr, mientras que la programación imperativa se centra en cómo el programa debe lograr el resultado..

Referencia:

1. “Programación declarativa”. Wikipedia, Wikimedia Foundation, 3 de abril de 2018. Disponible aquí  
2. “Programación imperativa”. Wikipedia, Wikimedia Foundation, 3 de abril de 2018. Disponible aquí  
3.Lección 17 - Programación declarativa vs imperativa, Sam Nxstack, 11 de abril de 2017. Disponible aquí