Programarea declarativă și imperativă sunt două paradigme comune de programare. diferența cheie între programare declarativă și imperativă este asta Programarea declarativă se concentrează asupra realizării programului, în timp ce programarea imperativă se concentrează asupra modului în care programul ar trebui să obțină rezultatul.
O paradigmă de programare este folosită pentru a clasifica un limbaj de programare în funcție de caracteristică. De asemenea, permite urmărirea unui anumit model sau stil pentru a rezolva o anumită problemă.
1. Prezentare generală și diferență cheie
2. Ce este Programarea Declarativă
3. Ce este programarea imperativă
4. Comparație de la o parte la alta - programare declarativă vs. imperativă în formă tabulară
5. rezumat
Programarea declarativă poate fi explicată folosind un scenariu real. Să presupunem că utilizatorul trebuie să verifice noile e-mailuri. O metodă este activarea notificărilor din cutia poștală. Utilizatorul trebuie să activeze notificările o singură dată și, de fiecare dată când primește un nou e-mail, primește automat o notificare. Programarea declarativă este similară cu aceea. Oferă simplitate. Declarația programată exprimă ceea ce este necesar rezultatul. Aceasta explică logica unui calcul fără descrierea fluxului de control.
Figura 01: Paradigme de programare
Un exemplu de programare declarativă este după cum urmează. Este de a multiplica numerele unei matrice cu o constantă și de a le depozita într-o nouă matrice.
var numere = [1,2,3];
var newnumbers = numbers.map (funcție (număr)
numere de retur * 5;
);
Console.log (newnumbers);
În exemplul de mai sus, "hartă" dă instrucțiuni pentru a itera fiecare element din matrice și pentru a invoca funcția de apel înapoi pentru fiecare element și pentru a stoca valoarea returnată la noul matrice. Acest lucru va da rezultatul 5,10,15. În acest program, obiectivul principal al multiplicării numerelor cu 5 este realizat folosind funcția de hartă. Acesta va trece prin fiecare element și va folosi funcția de apel înapoi pentru a calcula și a stoca valorile în noua matrice. Nu este necesar să se furnizeze toți pașii. Se pune accentul în principal pe ceea ce trebuie realizat.
Programarea imperativa poate fi explicata folosind un scenariu real ca si inainte. Pentru a verifica noile mesaje de poștă electronică, utilizatorul se poate conecta la Gmail și poate reîmprospăta pagina pentru a verifica dacă a primit e-mailuri noi sau nu. Acest lucru este similar cu programarea imperativă. Aceasta explică fiecare etapă implicată pentru a obține rezultatul. Utilizează instrucțiuni pentru a exprima modificările în starea programului.
Multiplicarea elementelor matricei cu o constantă și stocarea valorilor într-o nouă matrice în programarea imperativă este după cum urmează.
var numere = [1,2,3];
var newnumbers = [];
pentru (int i = 0; i< numbers.length ; i++)
newnumbers.push (numere [i] * 5);
Console.log (newnumbers);
În exemplul de mai sus, numerele reprezintă o matrice. Când trece prin bucle, fiecare număr este înmulțit cu 5 și adăugat la matricea numerelor noi. După sfârșitul bucla, conținutul noilor numere va fi imprimat, care sunt 5,10,15.
Se poate observa că stilul imperativ furnizează toți pașii pentru a îndeplini această sarcină. Exprimă cum să iterați prin matrice utilizând variabila "i", de câte ori să iterați înainte de a ieși din bucla și cum să inserați valorile calculate în noile matrice etc.
Aceeași problemă a fost rezolvată folosind programare declarativă și imperativă.
Programare declarativă vs. imperativă | |
Programarea declarativă este o paradigmă de programare care exprimă logica unui calcul fără a descrie fluxul său de control. | Programarea imperativă este o paradigmă de programare care folosește instrucțiuni care schimbă starea programului. |
Concentrare principala | |
Programarea declarativă se concentrează asupra a ceea ce ar trebui să realizeze programul. | Programarea imperativă se concentrează asupra modului în care programul ar trebui să obțină rezultatul. |
Flexibilitate | |
Programarea declarativă oferă o mai mică flexibilitate. | Programarea imperativă oferă mai multă flexibilitate. |
Complexitate | |
Programarea declarativă simplifică programul. | Programarea imperioasă poate crește complexitatea programului. |
Categorizarea | |
Funcționarea, logica, programarea interogărilor intră în programarea declarativă. | Programarea programată și orientată pe obiecte intră în programarea imperativă. |
Acest articol a discutat diferența dintre două paradigme majore de programare, care sunt programare declarativă și imperativă. Diferența dintre programarea declarativă și cea imperativă este că Programarea Declarativă se concentrează asupra a ceea ce ar trebui să realizeze programul, în timp ce programarea imperativă se concentrează asupra modului în care programul ar trebui să obțină rezultatul.
1. "Programare Declarativă". Wikipedia, Fundația Wikimedia, 3 aprilie 2018. Disponibil aici
2. "Programarea imperativă" Wikipedia, Fundația Wikimedia, 3 aprilie 2018. Disponibil aici
3.Lectura 17 - Programarea Imperativă vs. Declarativă, Sam Nxstack, 11 aprilie 2017. Disponibil aici