Rozdiel medzi deklaratívnym a imperatívnym programovaním

Kľúčový rozdiel - deklaratívny proti imperatív programovanie
 

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.

OBSAH

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

Čo je deklaratívne programovanie?

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ť.

Čo je nevyhnutné programovanie?

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.

Aký je rozdiel medzi deklaratívnym a imperatívnym programovaním?

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.

Zhrnutie - deklaratívne proti imperatív programovanie

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.

referencie:

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