Diferència entre programació declarativa i imperativa

Taula de continguts:

Diferència entre programació declarativa i imperativa
Diferència entre programació declarativa i imperativa

Vídeo: Diferència entre programació declarativa i imperativa

Vídeo: Diferència entre programació declarativa i imperativa
Vídeo: ¿Qué es un paradigma? Diferencia entre programación imperativa y declarativa 2024, De novembre
Anonim

Diferència clau: programació declarativa vs imperativa

La programació declarativa i imperativa són dos paradigmes de programació habituals. La diferència clau entre la programació declarativa i la programació imperativa és que la programació declarativa se centra en què ha d'aconseguir el programa, mentre que la programació imperativa se centra en com el programa ha d'aconseguir el resultat.

S'utilitza un paradigma de programació per classificar un llenguatge de programació en funció de la característica. També permet seguir un patró o estil determinat per resoldre un problema concret.

Què és la programació declarativa?

La programació declarativa es pot explicar mitjançant un escenari del món real. Suposem que l'usuari ha de comprovar si hi ha correus electrònics nous. Un mètode és activar les notificacions de la safata d'entrada. L'usuari només ha d'habilitar les notificacions una vegada, i cada vegada que arriba un correu electrònic nou, rep una notificació automàticament. La programació declarativa és semblant a aquesta. Aporta simplicitat. La programació declarativa expressa quin és el resultat requerit. Explica la lògica d'un càlcul sense descriure el flux de control.

Diferència entre programació declarativa i imperativa
Diferència entre programació declarativa i imperativa

Figura 01: Paradigmes de programació

Un exemple de programació declarativa és el següent. És multiplicar els números d'una matriu per una constant i emmagatzemar-los en una nova matriu.

var nombres=[1, 2, 3];

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

números de retorn5;

});

Console.log(newnumbers);

A l'exemple anterior, "mapa" dóna instruccions per repetir cada element de la matriu i per invocar la funció de retorn de trucada per a cada element i per emmagatzemar el valor de retorn a la nova matriu. Això donarà la sortida 5, 10, 15. En aquest programa, l'objectiu principal de multiplicar els nombres per 5 s'aconsegueix mitjançant la funció de mapa. Passarà per cada element i utilitzarà la funció de retorn de trucada per calcular i emmagatzemar els valors a la nova matriu. No cal proporcionar tots els passos. El focus principal es posa en el que s'ha d'aconseguir.

Què és la programació imperativa?

La programació imperativa es pot explicar utilitzant un escenari del món real com abans. Per comprovar els nous correus electrònics, l'usuari pot iniciar sessió a gmail i continuar actualitzant la pàgina per comprovar si ha rebut nous correus electrònics o no. Això és similar a la programació imperativa. Explica tots i cadascun dels passos necessaris per aconseguir el resultat. Utilitza declaracions per expressar els canvis en l'estat del programa.

Multiplicar els elements de la matriu amb una constant i emmagatzemar els valors en una nova matriu en programació imperativa és el següent.

var nombres=[1, 2, 3];

var nombres nous=;

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

newnumbers.push(números5);

}

Console.log(newnumbers);

A l'exemple anterior, els números són una matriu. En passar pel bucle, cada nombre es multiplica per 5 i s'afegeix a la matriu de números nous. Després del final del bucle, s'imprimirà el contingut dels nous números que són 5, 10, 15.

Es pot observar que l'estil imperatiu proporciona tots els passos per aconseguir la tasca. Expressa com iterar a través de la matriu mitjançant la variable de comptador "i", quantes vegades cal repetir abans de sortir del bucle i com inserir els valors calculats a les noves matrius, etc.

El mateix problema es va resoldre mitjançant la programació declarativa i imperativa.

Quina diferència hi ha entre la programació declarativa i la programació imperativa?

Programació declarativa vs imperativa

La programació declarativa és un paradigma de programació que expressa la lògica d'un càlcul sense descriure el seu flux de control. La programació imperativa és un paradigma de programació que utilitza declaracions que canvien l'estat del programa.
Focus principal
La programació declarativa se centra en el que ha d'aconseguir el programa. La programació imperativa se centra en com el programa ha d'aconseguir el resultat.
Flexibilitat
La programació declarativa ofereix menys flexibilitat. La programació imperativa proporciona més flexibilitat.
Complexitat
La programació declarativa simplifica el programa. La programació imperativa pot augmentar la complexitat del programa.
Categorització
La programació funcional, lògica i de consulta cau en la programació declarativa. La programació procedimental i orientada a objectes cau en la programació imperativa.

Resum: programació declarativa vs imperativa

En aquest article es parla de la diferència entre dos paradigmes de programació principals, que són la programació declarativa i la programació imperativa. La diferència entre la programació declarativa i la programació imperativa és que la programació declarativa se centra en què ha d'aconseguir el programa, mentre que la programació imperativa se centra en com el programa ha d'aconseguir el resultat.

Recomanat: