Diferența cheie - Programare declarativă vs imperativă
Programarea declarativă și imperativă sunt două paradigme comune de programare. Diferența cheie între programarea declarativă și imperativă este că programarea declarativă se concentrează pe ceea ce ar trebui să realizeze programul, în timp ce programarea imperativă se concentrează pe modul în care programul ar trebui să obțină rezultatul.
O paradigmă de programare este utilizată pentru a clasifica un limbaj de programare în funcție de caracteristică. De asemenea, permite urmărirea unui anumit tipar sau stil pentru a rezolva o anumită problemă.
CUPRINS
1. Prezentare generală și diferența cheie
2. Ce este programarea declarativă
3. Ce este programarea imperativă
4. Comparație side by side - Programare declarativă vs imperativă în formă tabelară
5. Rezumat
Ce este programarea declarativă?
Programarea declarativă poate fi explicată folosind un scenariu din lumea reală. Să presupunem că utilizatorul trebuie să verifice dacă există e-mailuri noi. O metodă este activarea notificărilor din căsuța de e-mail. Utilizatorul trebuie să activeze notificările o singură dată și, de fiecare dată când ajunge un nou e-mail, primește automat o notificare. Programarea declarativă este similară cu aceea. Oferă simplitate. Programarea declarativă exprimă rezultatul necesar. Acesta explică logica unui calcul fără a descrie fluxul de control.
Figura 01: Paradigme de programare
Un exemplu de programare declarativă este următorul. Este să multiplicați numerele unui tablou cu o constantă și să le stocați într-un nou tablou.
numere var = [1,2,3];
var newnumbers = numbers.map (funcție (număr) {
returnează numerele * 5;
});
Console.log (numere noi);
În exemplul de mai sus, „hartă” oferă instrucțiuni pentru a itera fiecare articol din matrice și pentru a invoca funcția de apel înapoi pentru fiecare articol și pentru a stoca valoarea returnată noii matrice. Acest lucru va da rezultatul 5,10,15. În acest program, obiectivul principal al înmulțirii numerelor cu 5 este realizat folosind funcția hartă. Acesta va parcurge fiecare element și va utiliza funcția de apel invers pentru a calcula și stoca valorile în noua matrice. Nu este necesar să furnizați toți pașii. Accentul principal este acordat ceea ce ar trebui atins.
Ce este programarea imperativă?
Programarea imperativă poate fi explicată folosind un scenariu din lumea reală ca înainte. Pentru a verifica noile e-mailuri, utilizatorul se poate conecta la Gmail și poate reîmprospăta pagina pentru a verifica dacă a primit noi e-mailuri sau nu. Acest lucru este similar cu programarea imperativă. Acesta explică fiecare pas implicat pentru a obține rezultatul. Folosește declarații pentru a exprima modificările în starea programului.
Înmulțirea elementelor de matrice cu o constantă și stocarea valorilor într-o nouă matrice în programare imperativă este după cum urmează.
numere var = [1,2,3];
var newnumbers =;
for (int i = 0; i <numere.lungime; i ++) {
newnumbers.push (numere * 5);
}
Console.log (numere noi);
În exemplul de mai sus, numerele sunt o matrice. Când parcurgeți bucla, fiecare număr este înmulțit cu 5 și adăugat la matricea de numere noi. După sfârșitul buclei, se va imprima conținutul noilor numere, care sunt 5,10,15.
Se poate observa că stilul imperativ oferă toți pașii pentru realizarea sarcinii. Exprimă cum să iterați prin matrice utilizând variabila contorului „i”, de câte ori să iterați înainte de a ieși din buclă și cum să inserați valorile calculate în noile matrice etc.
Aceeași problemă a fost rezolvată folosind programarea declarativă și imperativă.
Care este diferența dintre programarea declarativă și imperativă?
Difuzarea articolului din mijloc înainte de tabel
Programare declarativă vs imperativă |
|
Programarea declarativă este o paradigmă de programare care exprimă logica unui calcul fără a descrie fluxul de control al acestuia. | Programarea imperativă este o paradigmă de programare care folosește instrucțiuni care schimbă starea programului. |
Concentrare principala | |
Programarea declarativă se concentrează pe ceea ce ar trebui să realizeze programul. | Programarea imperativă se concentrează pe modul în care programul ar trebui să obțină rezultatul. |
Flexibilitate | |
Programarea declarativă oferă mai puțină flexibilitate. | Programarea imperativă oferă mai multă flexibilitate. |
Complexitate | |
Programarea declarativă simplifică programul. | Programarea imperativă poate crește complexitatea programului. |
Categorizare | |
Programarea funcțională, logică, interogare se încadrează în programarea declarativă. | Programarea procedurală și orientată pe obiecte intră în programarea imperativă. |
Rezumat - Programare declarativă vs imperativă
Acest articol a discutat diferența dintre două paradigme majore de programare, care sunt programarea declarativă și imperativă. Diferența dintre programarea declarativă și cea imperativă este că programarea declarativă se concentrează pe ceea ce ar trebui să realizeze programul, în timp ce programarea imperativă se concentrează pe modul în care programul ar trebui să obțină rezultatul.