Deklaratívne a imperatívne programovanie sú dve bežné programovacie paradigmy. kľúčový rozdiel medzi deklaratívnym a imperatívnym programovaním je to Deklaratívne programovanie sa zameriava na to, čo by mal program dosiahnuť, zatiaľ čo imperatívne programovanie sa zameriava na to, ako by mal program dosiahnuť výsledok.
Programovacia paradigma sa používa na klasifikáciu programovacieho jazyka v závislosti od funkcie. Umožňuje tiež sledovať určitý vzor alebo štýl na vyriešenie konkrétneho problému.
1. Prehľad a kľúčový rozdiel
2. Čo je deklaratívne programovanie
3. Čo je nevyhnutné programovanie
4. Porovnanie bok po boku - deklaratívne vs. imperatívne programovanie v tabuľkovej forme
5. Zhrnutie
Deklaratívne programovanie sa dá vysvetliť pomocou scenára v reálnom svete. Predpokladajme, že používateľ musí skontrolovať nové e-maily. Jednou z metód je povolenie upozornení doručenej pošty. Používateľ musí upozornenia povoliť iba raz a vždy, keď príde nový e-mail, dostane upozornenie automaticky. Deklaratívne programovanie je podobné. Poskytuje jednoduchosť. Deklaratívne programovanie vyjadruje, aký je požadovaný výsledok. Vysvetľuje logiku výpočtu bez opisu riadiaceho toku.
Obrázok 01: Programovacie paradigmy
Príklad deklaratívneho programovania je nasledujúci. Je to vynásobiť čísla poľa konštantou a uložiť ich do nového poľa.
var čísla = [1,2,3];
var newnumbers = čísla.map (funkcia (číslo)
návratové čísla * 5;
);
Console.log (newnumbers);
Vo vyššie uvedenom príklade „mapa“ dáva pokyny na opakovanie každej položky v poli a na vyvolanie funkcie spätného volania pre každú položku a na uloženie návratovej hodnoty do nového poľa. Toto poskytne výstup 5,10,15. V tomto programe je hlavný cieľ vynásobiť čísla číslom 5 pomocou funkcie mapy. Prechádza každým prvkom a pomocou funkcie spätného volania vypočíta a uloží hodnoty do nového poľa. Nie je potrebné poskytovať všetky kroky. Hlavné zameranie je venované tomu, čo by sa malo dosiahnuť.
Nútené programovanie možno vysvetliť pomocou scenára skutočného sveta ako predtým. Ak si chce používateľ skontrolovať nové e-maily, môže sa prihlásiť do služby Gmail a obnovovať stránku, aby skontroloval, či dostal nové e-maily alebo nie. Je to podobné imperatívnemu programovaniu. Vysvetľuje každý jednotlivý krok na dosiahnutie výsledku. Používa príkazy na vyjadrenie zmien v stave programu.
Násobenie prvkov poľa konštantou a ukladanie hodnôt do nového poľa v imperatívnom programovaní je nasledujúce.
var čísla = [1,2,3];
var newnumbers = [];
pre (int i = 0; i< numbers.length ; i++)
newnumbers.push (čísla [i] * 5);
Console.log (newnumbers);
Vo vyššie uvedenom príklade sú čísla pole. Pri prechádzaní slučkou sa každé číslo vynásobí 5 a pridá sa do poľa novín. Po ukončení slučky sa vytlačí obsah novín, ktoré sú 5,10,15.
Je možné pozorovať, že imperatívny štýl poskytuje všetky kroky na splnenie úlohy. Vyjadruje, ako sa iteruje cez pole pomocou premennej počítadla i, koľkokrát sa iteruje pred vystúpením zo slučky a ako vložiť vypočítané hodnoty do nových polí atď..
Rovnaký problém sa vyriešil pomocou deklaratívneho a imperatívneho programovania.
Deklaratívne vs. imperatívne programovanie | |
Deklaratívne programovanie je programovacie paradigma, ktoré vyjadruje logiku výpočtu bez opisu jeho riadiaceho toku. | Imperatívne programovanie je programovacie paradigma, ktoré používa príkazy, ktoré menia stav programu. |
Hlavne zameranie | |
Deklaratívne programovanie sa zameriava na to, čo by mal program dosiahnuť. | Nútené programovanie sa zameriava na to, ako by mal program dosiahnuť výsledok. |
flexibilita | |
Deklaratívne programovanie poskytuje menšiu flexibilitu. | Nútené programovanie poskytuje väčšiu flexibilitu. |
zložitosť | |
Deklaratívne programovanie program zjednodušuje. | Nútené programovanie môže zvýšiť zložitosť programu. |
kategorizácia | |
Funkčné, logické a dopytovacie programovanie patrí do deklaratívneho programovania. | Procedurálne a objektovo orientované programovanie spadá do nevyhnutného programovania. |
Tento článok sa zaoberal rozdielom medzi dvoma hlavnými paradigmami programovania, ktoré sú deklaratívnym a imperatívnym programovaním. Rozdiel medzi deklaratívnym a imperatívnym programovaním je v tom, že deklaratívne programovanie sa zameriava na to, čo by mal program dosiahnuť, zatiaľ čo program imperatívneho programovania sa zameriava na to, ako by program mal dosiahnuť výsledok.
1. „Deklaratívne programovanie“. Wikipedia, Wikimedia Foundation, 3. apríla 2018. K dispozícii tu
2. „Nútené programovanie“. Wikipedia, Wikimedia Foundation, 3. apríla 2018. K dispozícii tu
3. Prednáška 17 - Imperatívne verzus deklaratívne programovanie, Sam Nxstack, 11. apríla 2017. K dispozícii tu