Különbség A Funkcionális Programozás és Az Elengedhetetlen Programozás Között

Tartalomjegyzék:

Különbség A Funkcionális Programozás és Az Elengedhetetlen Programozás Között
Különbség A Funkcionális Programozás és Az Elengedhetetlen Programozás Között

Videó: Különbség A Funkcionális Programozás és Az Elengedhetetlen Programozás Között

Videó: Különbség A Funkcionális Programozás és Az Elengedhetetlen Programozás Között
Videó: B Explains: Funkcionális programozás 2024, Lehet
Anonim

Fő különbség - Funkcionális programozás vs kötelező programozás

A legfontosabb különbség a funkcionális programozás és az imperatív programozás között az, hogy a funkcionális programozás a számításokat matematikai függvényeknek tekinti, és elkerüli az állapot és a mutálható adatok megváltoztatását, míg az imperatív programozás a program állapotát megváltoztató utasításokat használja.

A programozási paradigma a számítógépes program struktúrájának és elemeinek felépítésének stílusát biztosítja. A programozási paradigmák segítenek a programozási nyelvek osztályozásában jellemzőik alapján. Egy programozási nyelv több paradigmát is befolyásolhat. Az objektumorientált paradigmában a program objektumok felhasználásával épül fel, és az objektumok módszerekkel adják át az üzeneteket. A logikai programozás a számítást kizárólag matematikai logikában fejezheti ki. További két programozási paradigma a funkcionális programozás és az imperatív programozás. A funkcionális programozás lehetővé teszi a számítások kifejezését matematikai függvények kiértékeléseként. Az imperatív programozás olyan utasításokat tartalmaz, amelyek kifejezetten megváltoztatják a memória állapotát. Ez a cikk a funkcionális programozás és az imperatív programozás közötti különbséget tárgyalja.

TARTALOM

1. Áttekintés és kulcsfontosságú különbség

2. Mi a funkcionális programozás

3. Mi az elengedhetetlen programozás

4. A funkcionális programozás és az elengedhetetlen programozás közötti hasonlóságok

5. Egymás melletti összehasonlítás - Funkcionális programozás és az elengedhetetlen programozás táblázatos formában

6. Összefoglalás

Mi a funkcionális programozás?

A funkcionális programozás a matematikán alapul. A funkcionális programozás mögött az az alapelv, hogy az összes számítást külön matematikai függvények kombinációjának tekintik. Egy matematikai függvény leképezi a bemeneteket a kimenetekre. Tegyük fel, hogy van egy f (x) = x * x nevű függvény. Az x érték 1 az 1 kimenethez van hozzárendelve. A 2 x érték a 4 kimenethez van feltérképezve.

Különbség a funkcionális programozás és az elengedhetetlen programozás között
Különbség a funkcionális programozás és az elengedhetetlen programozás között

01. ábra: Példa a funkcionális programozási nyelvre - Haskell

A funkcionális programozás során a mintákat veszik figyelembe. A funkcionális programozási nyelvek, a Haskell, az alábbi módszerrel keresi meg a számok összegzését.

Az összeg függvénynek egész értékei vannak, és az eredmény is egész szám lesz. Összegként írható: [int] -> int. Az összegzést az alábbi minták követésével tehetjük meg.

összeg [n] = n, egy szám összege maga a szám.

Ha van számlista, akkor az alábbiak szerint írható. Az n az első számot, az ns pedig a többi számot jelenti

összeg (n, ns) = n + összeg ns.

A fenti minták alkalmazhatók három, 3,4,5 szám összeadására.

3 + összeg [4,5]

3 + (4 + összeg [5])

3+ 4 + 5 = 12

Azt mondják, hogy egy függvénynek vagy kifejezésnek mellékhatásai vannak, ha módosít valamilyen állapotot a hatókörén kívül, vagy a visszatérő érték mellett megfigyelhető kölcsönhatásba lép a hívó funkcióival. A funkcionális programozás minimalizálja ezeket a mellékhatásokat. Az állapotváltozások nem függenek a függvény bemeneteitől. Hasznos a program viselkedésének megértésében. A funkcionális programozás egyik hátránya, hogy a funkcionális programozás megtanulása nehezebb az imperatív programozáshoz képest.

Mi az elengedhetetlen programozás?

Az imperatív programozás olyan programozási paradigma, amely az utasításokat használja, amelyek megváltoztatják a program állapotát. A program működésének leírására összpontosít. A programozási nyelvek, például a Java, a C és a C #, elengedhetetlen programozási nyelvek. Ez lépésről lépésre biztosítja a teendőket. Az imperatív programozási nyelvek olyan struktúrákat tartalmaznak, mint például if, else, míg a ciklusok, osztályok, objektumok és függvények esetében.

Főbb különbség a funkcionális programozás és az elengedhetetlen programozás között
Főbb különbség a funkcionális programozás és az elengedhetetlen programozás között

02. ábra: Példa az imperatív programozási nyelvre - Java

Tíz szám összegzése megtalálható a Java-ban az alábbiak szerint. Minden iterációban az i értéket hozzáadjuk az összeghez és hozzárendeljük az összeg változóhoz. Minden egyes iterációban az összeg értéke folyamatosan növekszik az előzőleg kiszámított összeghez.

int összeg = 0;

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

összeg = összeg + i;

}

A kötelező programozást könnyű megtanulni, megérteni és hibakeresni. Az állapotváltozók használata miatt könnyű megtalálni a program állapotát. Néhány hátránya, hogy meghosszabbíthatja a kódot, és minimalizálhatja a méretezhetőséget.

Mi a hasonlóság a funkcionális programozás és az elengedhetetlen programozás között?

A funkcionális programozás és az imperatív programozás egyaránt programozási paradigma

Mi a különbség a funkcionális programozás és az elengedhetetlen programozás között?

Különböző cikk a táblázat előtt

Funkcionális vs kötelező programozás

A funkcionális programozás olyan programozási paradigma, amely a számítást a matematikai függvények értékelésének tekinti, és elkerüli az állapot és a változtatható adatok megváltoztatását. Az imperatív programozás olyan programozási paradigma, amely olyan utasításokat használ, amelyek megváltoztatják a program állapotát.
Szerkezetek
A Funkcionális programozás funkcióhívásokat és magasabb rendű funkciókat tartalmaz. Az imperatív programozás tartalmazza az if, else, while ciklusokat, függvényeket, osztályokat és objektumokat.
Programozási nyelvek
A Scala, Haskell és Lisp funkcionális programozási nyelvek. A C, C ++, a Java elengedhetetlen programozási nyelv.
Fókusz
A funkcionális programozás a végeredményre összpontosít. Az imperatív programozás a program működésének leírására összpontosít.
Egyszerűség
A funkcionális programozás nehéz. A kötelező programozás könnyebb.

Összegzés - Funkcionális programozás vs kötelező programozás

A programozási paradigma a számítógépes program struktúrájának és elemeinek felépítésének stílusát biztosítja. A funkcionális programozás és az elengedhetetlen programozás ezek közül kettő. A funkcionális programozás és az imperatív programozás közötti különbség az, hogy a funkcionális programozás a számításokat matematikai függvényeknek tekinti, és elkerüli az állapot és a változtatható adatok megváltoztatását, míg az imperatív programozás a program állapotát megváltoztató utasításokat használja.

Ajánlott: