Pagrindinis skirtumas – deklaratyvus ir privalomasis programavimas
Deklaratyvus ir imperatyvus programavimas yra dvi įprastos programavimo paradigmos. Pagrindinis skirtumas tarp deklaratyvaus ir imperatyvaus programavimo yra tas, kad deklaratyvusis programavimas sutelkia dėmesį į tai, ką programa turi pasiekti, o privalomasis – į tai, kaip programa turėtų pasiekti rezultatą.
Programavimo paradigma naudojama programavimo kalbai klasifikuoti priklausomai nuo funkcijos. Tai taip pat leidžia vadovautis tam tikru modeliu ar stiliumi, kad išspręstumėte konkrečią problemą.
Kas yra deklaratyvusis programavimas?
Deklaratyvųjį programavimą galima paaiškinti naudojant realų scenarijų. Tarkime, kad vartotojas turi patikrinti, ar nėra naujų el. Vienas iš būdų yra įjungti gautųjų pranešimus. Vartotojas turi įjungti pranešimus tik vieną kartą ir kiekvieną kartą gavęs naują el. laišką, jis automatiškai gauna pranešimą. Deklaratyvus programavimas yra panašus į tai. Tai suteikia paprastumo. Deklaratyvus programavimas išreiškia, koks yra reikalingas rezultatas. Jame paaiškinama skaičiavimo logika, neaprašant valdymo srauto.
01 pav.: Programavimo paradigmos
Deklaratyvaus programavimo pavyzdys yra toks. Tai yra masyvo skaičių padauginimas iš konstantos ir įrašymas į naują masyvą.
kintamieji skaičiai=[1, 2, 3];
var newnumbers=numbers.map(function(number){
grįžimo numeriai5;
});
Console.log(newnumbers);
Aukščiau pateiktame pavyzdyje „žemėlapis“pateikia nurodymus, kaip kartoti kiekvieną masyvo elementą ir iškviesti kiekvieno elemento iškvietimo funkciją bei išsaugoti grąžinamąją vertę naujame masyve. Tai suteiks išvestį 5, 10, 15. Šioje programoje pagrindinis tikslas padauginti skaičius iš 5 pasiekiamas naudojant žemėlapio funkciją. Jis eis per kiekvieną elementą ir naudos skambinimo funkciją, kad apskaičiuotų ir išsaugotų reikšmes naujame masyve. Nebūtina pateikti visų veiksmų. Pagrindinis dėmesys skiriamas tam, ką reikia pasiekti.
Kas yra privalomasis programavimas?
Būtinamąjį programavimą galima paaiškinti naudojant realų scenarijų, kaip ir anksčiau. Norėdami patikrinti naujus el. laiškus, vartotojas gali prisijungti prie „Gmail“ir nuolat atnaujinti puslapį, kad patikrintų, ar jis gavo naujų el. laiškų, ar ne. Tai panašu į privalomą programavimą. Tai paaiškina kiekvieną žingsnį, kurį reikia atlikti norint pasiekti rezultatą. Programos būsenos pokyčiams išreikšti naudojami teiginiai.
Masyvo elementų padauginimas iš konstantos ir reikšmių išsaugojimas naujame masyve privalomo programavimo metu yra taip.
kintamieji skaičiai=[1, 2, 3];
var newnumbers=;
for(int i=0; i< numbers.length; i++) {
naujinumeriai.push(skaičiai5);
}
Console.log(newnumbers);
Aukščiau pateiktame pavyzdyje skaičiai yra masyvas. Einant per kilpą, kiekvienas skaičius padauginamas iš 5 ir pridedamas prie naujų skaičių masyvo. Pasibaigus ciklui, bus išspausdintas naujų skaičių, kurie yra 5, 10, 15, turinys.
Galima pastebėti, kad imperatyvusis stilius numato visus žingsnius užduočiai pasiekti. Jame nurodoma, kaip kartoti masyvą naudojant „i“skaitiklio kintamąjį, kiek kartų kartoti prieš išeinant iš ciklo ir kaip įterpti apskaičiuotas reikšmes į naujus masyvus ir pan.
Ta pati problema buvo išspręsta naudojant deklaratyvųjį ir imperatyvųjį programavimą.
Kuo skiriasi deklaratyvusis ir imperatyvus programavimas?
Deklaratyvus prieš privalomąjį programavimą |
|
Deklaratyvus programavimas yra programavimo paradigma, kuri išreiškia skaičiavimo logiką, neaprašant jo valdymo srauto. | Imperatyvus programavimas yra programavimo paradigma, kuri naudoja teiginius, kurie keičia programos būseną. |
Pagrindinis dėmesys | |
Deklaratyvus programavimas orientuojasi į tai, ką programa turi pasiekti. | Imperatyvus programavimas orientuojasi į tai, kaip programa turi pasiekti rezultatą. |
Lankstumas | |
Deklaratyvus programavimas suteikia mažiau lankstumo. | Imperatyvus programavimas suteikia daugiau lankstumo. |
Sudėtingumas | |
Deklaratyvus programavimas supaprastina programą. | Imperatyvus programavimas gali padidinti programos sudėtingumą. |
Kategorizacija | |
Funkcinis, loginis, užklausų programavimas patenka į deklaratyvųjį programavimą. | Procedūrinis ir objektinis programavimas patenka į būtinąjį programavimą. |
Santrauka – deklaratyvus ir privalomasis programavimas
Šiame straipsnyje aptariamas skirtumas tarp dviejų pagrindinių programavimo paradigmų – deklaratyvaus ir imperatyvaus programavimo. Skirtumas tarp deklaratyvaus ir imperatyvaus programavimo yra tas, kad deklaratyvus programavimas sutelkia dėmesį į tai, ką programa turi pasiekti, o privalomasis programavimas sutelkia dėmesį į tai, kaip programa turėtų pasiekti rezultatą.