Põhierinevus – deklaratiivne vs imperatiivne programmeerimine
Deklaratiivne ja imperatiivne programmeerimine on kaks levinud programmeerimisparadigmat. Peamine erinevus deklaratiivse ja imperatiivse programmeerimise vahel on see, et deklaratiivne programmeerimine keskendub sellele, mida programm peaks saavutama, samas kui imperatiivne programmeerimine keskendub sellele, kuidas programm peaks tulemuse saavutama.
Programmeerimiskeele klassifitseerimiseks sõltuv alt funktsioonist kasutatakse programmeerimisparadigmat. Samuti võimaldab see konkreetse probleemi lahendamiseks järgida teatud mustrit või stiili.
Mis on deklaratiivne programmeerimine?
Deklaratiivset programmeerimist saab seletada reaalse maailma stsenaariumi abil. Oletame, et kasutaja peab kontrollima uusi e-kirju. Üks meetod on postkasti märguannete lubamine. Kasutajal tuleb märguanded lubada ainult üks kord ja iga kord, kui saabub uus e-kiri, saab ta automaatselt märguande. Deklaratiivne programmeerimine on sellega sarnane. See annab lihtsuse. Deklaratiivne programmeerimine väljendab nõutavat tulemust. See selgitab arvutuse loogikat ilma juhtimisvoogu kirjeldamata.
Joonis 01: Programmeerimisparadigmad
Deklaratiivse programmeerimise näide on järgmine. See on massiivi arvude korrutamine konstandiga ja nende salvestamine uude massiivi.
var numbrid=[1, 2, 3];
var newnumbers=numbers.map(function(number){
tagastusnumbrid5;
});
Console.log(newnumbers);
Ül altoodud näites annab 'map' juhised massiivi iga üksuse itereerimiseks ja iga üksuse tagasikutsumise funktsiooni käivitamiseks ning tagastamisväärtuse salvestamiseks uude massiivi. See annab väljundiks 5, 10, 15. Selles programmis saavutatakse põhieesmärk arvude 5-ga korrutamine kaardifunktsiooni abil. See läbib iga elemendi ja kasutab tagasikutsumisfunktsiooni väärtuste arvutamiseks ja uude massiivi salvestamiseks. Kõiki samme pole vaja esitada. Põhitähelepanu pööratakse sellele, mida tuleks saavutada.
Mis on kohustuslik programmeerimine?
Imperatiivset programmeerimist saab selgitada reaalse maailma stsenaariumi abil nagu varem. Uute meilide kontrollimiseks saab kasutaja Gmaili sisse logida ja lehte pidev alt värskendada, et kontrollida, kas ta sai uusi e-kirju või mitte. See sarnaneb kohustusliku programmeerimisega. See selgitab iga tulemuse saavutamiseks vajalikku sammu. See kasutab programmi oleku muutuste väljendamiseks avaldusi.
Massiivide elementide korrutamine konstandiga ja väärtuste salvestamine uude massiivi kohustuslikus programmeerimises on järgmine.
var numbrid=[1, 2, 3];
var newnumbers=;
for(int i=0; i< numbers.length; i++) {
uuednumbrid.push(numbrid5);
}
Console.log(newnumbers);
Ül altoodud näites on numbrid massiiv. Silmuse läbimisel korrutatakse iga arv 5-ga ja lisatakse uute numbrite massiivi. Pärast tsükli lõppu trükitakse uute numbrite sisu, mis on 5, 10, 15.
Võib täheldada, et imperatiivne stiil annab kõik sammud ülesande saavutamiseks. See väljendab, kuidas massiivi itereerida loenduri muutuja „i” abil, mitu korda itereerida enne tsüklist väljumist ja kuidas sisestada arvutatud väärtused uutesse massiividesse jne.
Sama probleem lahendati deklaratiivse ja imperatiivse programmeerimise abil.
Mis vahe on deklaratiivsel ja imperatiivsel programmeerimisel?
Deklaratiivne vs imperatiivne programmeerimine |
|
Deklaratiivne programmeerimine on programmeerimisparadigma, mis väljendab arvutuse loogikat, kirjeldamata selle juhtimisvoogu. | Imperatiivne programmeerimine on programmeerimisparadigma, mis kasutab lauseid, mis muudavad programmi olekut. |
Põhifookus | |
Deklaratiivne programmeerimine keskendub sellele, mida programm peaks saavutama. | Imperatiivne programmeerimine keskendub sellele, kuidas programm peaks tulemuse saavutama. |
Paindlikkus | |
Deklaratiivne programmeerimine pakub vähem paindlikkust. | Imperatiivne programmeerimine pakub suuremat paindlikkust. |
Keerukus | |
Deklaratiivne programmeerimine lihtsustab programmi. | Imperatiivne programmeerimine võib programmi keerukust suurendada. |
Kategoriseerimine | |
Funktsionaalne, loogika- ja päringuprogrammeerimine kuulub deklaratiivsesse programmeerimisse. | Protseduuriline ja objektorienteeritud programmeerimine kuulub kohustusliku programmeerimise alla. |
Kokkuvõte – deklaratiivne vs imperatiivne programmeerimine
Selles artiklis käsitleti erinevust kahe peamise programmeerimisparadigma vahel, milleks on deklaratiivne ja imperatiivne programmeerimine. Erinevus deklaratiivse ja kohustusliku programmeerimise vahel seisneb selles, et deklaratiivne programmeerimine keskendub sellele, mida programm peaks saavutama, samas kui kohustuslik programmeerimine keskendub sellele, kuidas programm peaks tulemuse saavutama.