Obsah:
- Kľúčový rozdiel - funkčné programovanie vs. imperatívne programovanie
- Čo je funkčné programovanie?
- Čo je to imperatívne programovanie?
- Aká je podobnosť medzi funkčným programovaním a imperatívnym programovaním?
- Aký je rozdiel medzi funkčným programovaním a imperatívnym programovaním?
- Zhrnutie - funkčné programovanie vs. imperatívne programovanie
Video: Rozdiel Medzi Funkčným Programovaním A Imperatívnym Programovaním
2024 Autor: Mildred Bawerman | [email protected]. Naposledy zmenené: 2023-12-16 08:42
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ď.
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.
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á:
Rozdiel Medzi Programovaním Anaconda A Python
Kľúčový rozdiel medzi programovaním Anaconda a Python je, že Anaconda je distribúcia programovacích jazykov Python a R pre dátovú vedu a
Rozdiel Medzi Objektovo Orientovaným Programovaním A Procedurálnym Programovaním
Objektovo orientované programovanie vs procedurálne programovanie Objektovo orientované programovanie (OOP) a procedurálne programovanie sú dve paradigmy programovania. Program
Rozdiel Medzi Funkčným Prototypom A Definíciou Funkcie V C
Kľúčový rozdiel - funkčný prototyp vs. definícia funkcie v jazyku C Funkcia je skupina príkazov používaných na vykonanie konkrétnej úlohy. V programovaní C th
Rozdiel Medzi Deklaratívnym A Imperatívnym Programovaním
Kľúčový rozdiel - Deklaratívne verzus imperatívne programovanie Deklaratívne a imperatívne programovanie sú dve bežné paradigmy programovania. Kľúčový rozdiel je
Rozdiel Medzi Projektovým A Funkčným Manažmentom
Kľúčový rozdiel - projektový manažment vs funkčný manažment Kľúčovým rozdielom medzi projektovým manažmentom a funkčným manažmentom je tá projektová mana