Rozdiel Medzi Funkčným Programovaním A Imperatívnym Programovaním

Obsah:

Rozdiel Medzi Funkčným Programovaním A Imperatívnym Programovaním
Rozdiel Medzi Funkčným Programovaním A Imperatívnym Programovaním

Video: Rozdiel Medzi Funkčným Programovaním A Imperatívnym Programovaním

Video: Rozdiel Medzi Funkčným Programovaním A Imperatívnym Programovaním
Video: 🚿 Роняю и мою Рации Lira P-312, P-512H. Обзор CP-115, CP-215H, CP-515 | РАЦИИ 📻 2024, November
Anonim

Kľúčový rozdiel - funkčné programovanie vs. imperatívne programovanie

Kľúčovým rozdielom medzi funkčným programovaním a imperatívnym programovaním je, že funkčné programovanie považuje výpočty za matematické funkcie a vyhýba sa zmene stavu a premenlivých údajov, zatiaľ čo imperatívne programovanie používa príkazy, ktoré menia stav programov.

Programovacia paradigma poskytuje štýl budovania štruktúry a prvkov počítačového programu. Programovacie paradigmy pomáhajú klasifikovať programovacie jazyky na základe ich vlastností. Programovací jazyk môže ovplyvniť viac paradigiem. V objektovo orientovanej paradigme je program štruktúrovaný pomocou objektov a objekty odovzdávajú správy pomocou metód. Logické programovanie môže vyjadrovať výpočet výlučne z hľadiska matematickej logiky. Ďalšími dvoma paradigmami programovania sú funkčné programovanie a imperatívne programovanie. Funkčné programovanie umožňuje vyjadrovať výpočty ako hodnotenie matematických funkcií. Imperatívne programovanie poskytuje príkazy, ktoré výslovne menia stav pamäte. Tento článok pojednáva o rozdieloch medzi funkčným programovaním a imperatívnym programovaním.

OBSAH

1. Prehľad a kľúčový rozdiel

2. Čo je funkčné programovanie

3. Čo je to imperatívne programovanie

4. Podobnosti medzi funkčným programovaním a imperatívnym programovaním

5. Porovnanie vedľa seba - funkčné programovanie vs. imperatívne programovanie v tabuľkovej forme

6. Zhrnutie

Čo je funkčné programovanie?

Funkčné programovanie je založené na matematike. Kľúčovým princípom funkčného programovania je, že všetky výpočty sa považujú za kombináciu samostatných matematických funkcií. Matematická funkcia mapuje vstupy na výstupy. Predpokladajme, že existuje funkcia s názvom f (x) = x * x. Hodnota x 1 sa mapuje na výstup 1. Hodnota x sa mapuje na výstup 4. Hodnota x 3 sa mapuje na výstup 9 atď.

Rozdiel medzi funkčným programovaním a imperatívnym programovaním
Rozdiel medzi funkčným programovaním a imperatívnym programovaním

Obrázok 01: Príklad funkčného programovacieho jazyka - Haskell

Pri funkčnom programovaní sa berú do úvahy vzory. Funkčné programovacie jazyky Haskell používajú nasledujúcu metódu na nájdenie súčtu čísel.

Funkcia súčtu má celočíselné hodnoty a výsledkom bude tiež celé číslo. Môže byť zapísaný ako súčet: [int] -> int. Sčítanie je možné vykonať podľa nasledujúcich vzorcov.

suma [n] = n, súčet jedného čísla je číslo samotné.

Ak existuje zoznam čísel, môže byť napísaný nasledovne. N predstavuje prvé číslo a ns predstavuje ďalšie čísla

suma (n, ns) = n + suma ns.

Vyššie uvedené vzory možno použiť na nájdenie súčtu troch čísel, ktoré sú 3,4,5.

3 + súčet [4,5]

3 + (4 + súčet [5])

3+ 4 + 5 = 12

O funkcii alebo výraze sa hovorí, že má vedľajšie účinky, ak upravuje stav mimo jeho rozsahu alebo má okrem návratovej hodnoty pozorovateľnú interakciu so svojimi volajúcimi funkciami. Funkčné programovanie tieto vedľajšie účinky minimalizuje. Zmeny stavu nezávisia od vstupov funkcií. Je to užitočné pri porozumení správania programu. Jednou z nevýhod funkčného programovania je, že učenie sa funkčného programovania je ťažšie v porovnaní s imperatívnym programovaním.

Čo je to imperatívne programovanie?

Imperatívne programovanie je paradigma programovania, ktorá používa príkazy, ktoré menia stav programu. Zameriava sa na opis fungovania programu. Programovacie jazyky ako Java, C a C # sú nevyhnutné programovacie jazyky. Poskytuje postupný postup, čo treba robiť. Imperatívne programovacie jazyky obsahujú štruktúry, ako keby, else, while, pre slučky, triedy, objekty a funkcie.

Kľúčový rozdiel medzi funkčným programovaním a imperatívnym programovaním
Kľúčový rozdiel medzi funkčným programovaním a imperatívnym programovaním

Obrázok 02: Príklad imperatívneho programovacieho jazyka - Java

Sčítanie desiatich čísel nájdete v Jave nasledovne. V každej iterácii sa hodnota i pripočíta k súčtu a priradí sa k premennej súčet. V každej iterácii sa hodnota súčtu neustále zvyšuje na predtým vypočítanú sumu.

int suma = 0;

pre (int i = 0; i <= 10; i ++) {

suma = suma + i;

}

Imperatívny program sa dá ľahko naučiť, porozumieť mu a vyladiť ho. Je ľahké nájsť stav programu z dôvodu použitia stavových premenných. Niektoré nevýhody spočívajú v tom, že kód môže byť zdĺhavý a môže tiež minimalizovať škálovateľnosť.

Aká je podobnosť medzi funkčným programovaním a imperatívnym programovaním?

Funkčné programovanie aj imperatívne programovanie sú paradigmy programovania

Aký je rozdiel medzi funkčným programovaním a imperatívnym programovaním?

Rozdielny článok v strede pred tabuľkou

Funkčné vs imperatívne programovanie

Funkčné programovanie je paradigma programovania, ktorá považuje výpočty za vyhodnotenie matematických funkcií a vyhýba sa zmene stavu a premenlivých údajov. Imperatívne programovanie je paradigma programovania, ktorá používa príkazy, ktoré menia stav programu.
Štruktúry
Funkčné programovanie obsahuje volania funkcií a funkcie vyššieho rádu. Imperatívne programovanie obsahuje if, else, while, pre slučky, funkcie, triedy a objekty.
Programovacie jazyky
Scala, Haskell a Lisp sú funkčné programovacie jazyky. C, C ++, Java sú nevyhnutné programovacie jazyky.
Zameranie
Funkčné programovanie sa zameriava na konečný výsledok. Imperatívne programovanie sa zameriava na opis fungovania programu.
Jednoduchosť
Funkčné programovanie je ťažké. Imperatívne programovanie je jednoduchšie.

Zhrnutie - funkčné programovanie vs. imperatívne programovanie

Programovacia paradigma poskytuje štýl budovania štruktúry a prvkov počítačového programu. Funkčné programovanie a imperatívne programovanie sú dva z nich. Rozdiel medzi funkčným programovaním a imperatívnym programovaním je v tom, že funkčné programovanie považuje výpočty za matematické funkcie a vyhýba sa zmene stavu a premenlivých údajov, zatiaľ čo imperatívne programovanie používa príkazy, ktoré menia stav programov.

Odporúčaná: