Diferencia entre programación declarativa e imperativa

Tabla de contenido:

Diferencia entre programación declarativa e imperativa
Diferencia entre programación declarativa e imperativa

Video: Diferencia entre programación declarativa e imperativa

Video: Diferencia entre programación declarativa e imperativa
Video: ¿Qué es un paradigma? Diferencia entre programación imperativa y declarativa 2024, Noviembre
Anonim

Diferencia clave: programación declarativa frente a programación 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 debe lograr, mientras que la programación imperativa se enfoca 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 en particular.

¿Qué es la programación declarativa?

La programación declarativa se puede explicar usando un escenario del mundo real. Suponga que el usuario necesita buscar nuevos correos electrónicos. Un método es habilitar las notificaciones de la bandeja de entrada. El usuario tiene que 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 sencillez. 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.

Diferencia entre programación declarativa e imperativa
Diferencia entre programación declarativa e imperativa

Figura 01: Paradigmas de programación

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

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

var nuevosnumeros=numeros.mapa(funcion(numero){

números devueltos5;

});

Consola.log(nuevosnúmeros);

En el ejemplo anterior, 'mapa' 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 en la nueva matriz. Esto dará como resultado 5, 10, 15. En este programa, el objetivo principal de multiplicar los números por 5 se logra usando la función de mapa. Pasará por cada elemento y utilizará la función de devolución de llamada para calcular y almacenar los valores en la nueva matriz. No es necesario proporcionar todos los pasos. El enfoque principal se da a lo que debe lograrse.

¿Qué es la programación imperativa?

La programación imperativa se puede explicar usando un escenario del mundo real como antes. Para verificar los nuevos correos electrónicos, el usuario puede iniciar sesión en Gmail y seguir actualizando la página para verificar si recibió nuevos correos electrónicos o no. Esto es similar a la programación imperativa. Explica todos y cada uno de los pasos necesarios para lograr el resultado. Utiliza sentencias para expresar los cambios en el estado del programa.

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

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

var nuevosnúmeros=;

for(int i=0; i< numeros.longitud; i++) {

nuevosnúmeros.push(números5);

}

Consola.log(nuevosnú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. Después del final del bucle, se imprimirá el contenido de los nuevos números, que son 5, 10, 15.

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

El mismo problema se resolvió usando 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 un cálculo sin describir su flujo de control. La programación imperativa es un paradigma de programación que utiliza sentencias que cambian el estado del programa.
Enfoque principal
La programación declarativa se centra en lo que debe lograr el programa. 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 brinda más flexibilidad.
Complejidad
La programación declarativa simplifica el programa. La programación imperativa puede aumentar la complejidad del programa.
Categorización
La programación funcional, lógica y de consultas cae dentro de la programación declarativa. La programación orientada a objetos y procedimental cae dentro de la programación imperativa.

Resumen: programación declarativa frente a programación imperativa

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

Recomendado: