Klíčový rozdíl - deklarativní vs. imperativní programování
Deklarativní a imperativní programování jsou dvě běžná paradigmata programování. Klíčovým rozdílem mezi deklarativním a imperativním programováním je, že deklarativní programování se zaměřuje na to, čeho by měl program dosáhnout, zatímco imperativní programování se zaměřuje na to, jak by měl program dosáhnout výsledku.
Programovací paradigma se používá ke klasifikaci programovacího jazyka v závislosti na funkci. Umožňuje také sledovat určitý vzor nebo styl k vyřešení konkrétního problému.
OBSAH
1. Přehled a klíčový rozdíl
2. Co je deklarativní programování
3. Co je imperativní programování
4. Porovnání vedle sebe - deklarativní vs. imperativní programování v tabulce
5. Shrnutí
Co je to deklarativní programování?
Deklarativní programování lze vysvětlit pomocí scénáře reálného světa. Předpokládejme, že uživatel musí zkontrolovat nové e-maily. Jednou z metod je povolení oznámení doručené pošty. Uživatel musí povolit oznámení pouze jednou a pokaždé, když dorazí nový e-mail, obdrží oznámení automaticky. Deklarativní programování je podobné tomu. Poskytuje jednoduchost. Deklarativní programování vyjadřuje, jaký je požadovaný výsledek. Vysvětluje logiku výpočtu bez popisu toku řízení.
Obrázek 01: Programovací paradigmata
Příklad deklarativního programování je následující. Jedná se o vynásobení čísel pole konstantou a jejich uložení do nového pole.
var čísla = [1,2,3];
var newnumbers = numbers.map (funkce (číslo) {
návratová čísla * 5;
});
Console.log (novinka);
Ve výše uvedeném příkladu dává 'map' pokyny k iteraci každé položky v poli a k vyvolání funkce zpětného volání pro každou položku a k uložení návratové hodnoty do nového pole. To dá výstupu 5,10,15. V tomto programu je hlavního cíle vynásobení čísel 5 dosaženo pomocí funkce mapy. Projde každý prvek a pomocí funkce zpětného volání vypočítá a uloží hodnoty do nového pole. Není nutné provádět všechny kroky. Hlavní důraz je kladen na to, čeho by mělo být dosaženo.
Co je to imperativní programování?
Imperativní programování lze vysvětlit pomocí scénáře reálného světa jako dříve. Chcete-li zkontrolovat nové e-maily, může se uživatel přihlásit do služby Gmail a neustále obnovovat stránku, aby zkontroloval, zda dostal nové e-maily nebo ne. To je podobné imperativnímu programování. Vysvětluje každý jednotlivý krok k dosažení výsledku. Využívá příkazy k vyjádření změn ve stavu programu.
Násobení prvků pole konstantou a ukládání hodnot do nového pole v imperativním programování je následující.
var čísla = [1,2,3];
var newnumbers =;
for (int i = 0; i <numbers.length; i ++) {
newnumbers.push (čísla * 5);
}
Console.log (novinka);
Ve výše uvedeném příkladu jsou čísla pole. Když procházíte smyčkou, každé číslo se vynásobí 5 a přidá se do pole nových čísel. Po skončení cyklu se vytiskne obsah nových čísel, která jsou 5,10,15.
Lze pozorovat, že imperativní styl poskytuje všechny kroky k dosažení úkolu. Vyjadřuje, jak iterovat maticí pomocí proměnné čítače 'i', kolikrát iterovat, než se dostane ze smyčky, a jak vložit vypočítané hodnoty do nových polí atd.
Stejný problém byl vyřešen pomocí deklarativního a imperativního programování.
Jaký je rozdíl mezi deklarativním a imperativním programováním?
Rozdílný článek uprostřed před tabulkou
Deklarativní vs. imperativní programování |
|
Deklarativní programování je paradigma programování, které vyjadřuje logiku výpočtu bez popisu jeho řídicího toku. | Imperativní programování je paradigma programování, které používá příkazy, které mění stav programu. |
Hlavní zaměření | |
Deklarativní programování se zaměřuje na to, čeho by měl program dosáhnout. | Imperativní programování se zaměřuje na to, jak by měl program dosáhnout výsledku. |
Flexibilita | |
Deklarativní programování poskytuje menší flexibilitu. | Imperativní programování poskytuje větší flexibilitu. |
Složitost | |
Deklarativní programování program zjednodušuje. | Imperativní programování může zvýšit složitost programu. |
Kategorizace | |
Funkční, logické a dotazovací programování spadá do deklarativního programování. | Procedurální a objektově orientované programování spadá do imperativního programování. |
Shrnutí - Deklarativní vs. imperativní programování
Tento článek pojednával o rozdílu mezi dvěma hlavními paradigmaty programování, kterými jsou deklarativní a imperativní programování. Rozdíl mezi deklarativním a imperativním programováním spočívá v tom, že deklarativní programování se zaměřuje na to, čeho by měl program dosáhnout, zatímco imperativní programování se zaměřuje na to, jak by měl program dosáhnout výsledku.