Diferència entre la programació funcional i la programació imperativa

Taula de continguts:

Diferència entre la programació funcional i la programació imperativa
Diferència entre la programació funcional i la programació imperativa

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

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

Diferència clau: programació funcional i programació imperativa

La diferència clau entre la programació funcional i la programació imperativa és que la programació funcional considera els càlculs com a funcions matemàtiques i evita el canvi d'estat i les dades mutables, mentre que la programació imperativa utilitza les declaracions que canvien l'estat dels programes.

Un paradigma de programació proporciona un estil de construcció de l'estructura i els elements d'un programa informàtic. Els paradigmes de programació ajuden a classificar els llenguatges de programació en funció de les seves característiques. Un llenguatge de programació podria influir en més paradigmes. En el paradigma orientat a objectes, el programa s'estructura mitjançant objectes i els objectes transmeten missatges mitjançant mètodes. La programació lògica pot expressar el càlcul exclusivament en termes de lògica matemàtica. Altres dos paradigmes de programació són la programació funcional i la programació imperativa. La programació funcional permet expressar càlculs com l'avaluació de funcions matemàtiques. La programació imperativa proporciona declaracions que canvien explícitament l'estat de la memòria. En aquest article es parla de la diferència entre la programació funcional i la programació imperativa.

Què és la programació funcional?

La programació funcional es basa en les matemàtiques. El principi clau darrere de la programació funcional és que tota la computació es considera com una combinació de funcions matemàtiques separades. Una funció matemàtica mapeja les entrades a les sortides. Suposem que hi ha una funció anomenada f(x)=xx. El valor x 1 s'assigna a la sortida 1. El valor x 2 s'assigna a la sortida 4. El valor x 3 s'assigna a la sortida 9 i així successivament.

Diferència entre la programació funcional i la programació imperativa
Diferència entre la programació funcional i la programació imperativa

Figura 01: Exemple de llenguatge de programació funcional – Haskell

A la programació funcional, es tenen en compte els patrons. Els llenguatges de programació funcional Haskell, utilitza el mètode següent per trobar la suma dels nombres.

La funció suma té valors enters i el resultat també serà un nombre enter. Es pot escriure com a suma: [int] -> int. La suma es pot fer seguint els patrons següents.

sum[n]=n, la suma d'un nombre és el nombre en si.

Si hi ha una llista de números, es pot escriure de la següent manera. La n representa el primer nombre i ns els altres nombres

sum (n, ns)=n + suma ns.

Els patronses poden aplicar per trobar la suma de tres nombres que són 3, 4, 5.

3 + suma [4, 5]

3 + (4 + suma [5])

3+ 4 + 5=12

Es diu que una funció o una expressió té efectes secundaris si modifica algun estat fora del seu abast o té una interacció observable amb les seves funcions de crida a més del valor que retorna. La programació funcional minimitza aquests efectes secundaris. Els canvis d'estat no depenen de les entrades de la funció. És útil per entendre el comportament del programa. Un inconvenient de la programació funcional és que aprendre programació funcional és més difícil en comparació amb la programació imperativa.

Què és la programació imperativa?

La programació imperativa és un paradigma de programació que utilitza les declaracions que canvien l'estat d'un programa. Se centra a descriure com funciona un programa. Els llenguatges de programació com Java, C i C són llenguatges de programació imprescindibles. Proporciona un procediment pas a pas sobre què fer. Els llenguatges de programació imperatius contenen estructures com if, else, while, bucles, classes, objectes i funcions.

Diferència clau entre la programació funcional i la programació imperativa
Diferència clau entre la programació funcional i la programació imperativa

Figura 02: Exemple de llenguatge de programació imperatiu – Java

La suma de deu nombres es pot trobar a Java de la següent manera. En cada iteració, el valor i s'afegeix a la suma i s'assigna a la variable suma. En cada iteració, el valor de la suma es continua sumant a la suma calculada anteriorment.

int suma=0;

for (int i=0; i<=10; i++) {

sum=suma + i;

}

La programació imperativa és fàcil d'aprendre, d'entendre i de depurar. És fàcil trobar l'estat del programa a causa de l'ús de variables d'estat. Alguns inconvenients són que pot fer que el codi sigui llarg i també pot minimitzar l'escalabilitat.

Quina semblança hi ha entre la programació funcional i la programació imperativa?

Tant la programació funcional com la programació imperativa són paradigmes de programació

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

Programació funcional vs imperativa

La programació funcional és un paradigma de programació que considera la computació com l'avaluació de funcions matemàtiques i evita el canvi d'estat i les dades mutables. La programació imperativa és un paradigma de programació que utilitza declaracions que canvien l'estat d'un programa.
Estructures
La programació funcional conté trucades de funcions i funcions d'ordre superior. La programació imperativa conté if, else, while, per a bucles, funcions, classes i objectes.
Llenguatges de programació
Scala, Haskell i Lisp són llenguatges de programació funcionals. C, C++ i Java són llenguatges de programació imprescindibles.
Focus
La programació funcional se centra en el resultat final. La programació imperativa se centra a descriure com funciona un programa.
Simplicitat
La programació funcional és difícil. La programació imperativa és més fàcil.

Resum: programació funcional versus programació imperativa

Un paradigma de programació proporciona un estil de construcció de l'estructura i els elements d'un programa informàtic. La Programació Funcional i la Programació Imperativa són dues d'elles. La diferència entre la programació funcional i la programació imperativa és que la programació funcional considera els càlculs com a funcions matemàtiques i evita el canvi d'estat i les dades mutables mentre que la programació imperativa utilitza les declaracions que canvien l'estat dels programes.

Recomanat: