Funktionaalisen ohjelmoinnin ja pakollisen ohjelmoinnin välinen ero

Sisällysluettelo:

Funktionaalisen ohjelmoinnin ja pakollisen ohjelmoinnin välinen ero
Funktionaalisen ohjelmoinnin ja pakollisen ohjelmoinnin välinen ero

Video: Funktionaalisen ohjelmoinnin ja pakollisen ohjelmoinnin välinen ero

Video: Funktionaalisen ohjelmoinnin ja pakollisen ohjelmoinnin välinen ero
Video: Matematiikan oppimistulokset perusopetuksen päättövaiheessa (2021), ensitulosten julkistus 9.12.2021 2024, Marraskuu
Anonim

Avainero – toiminnallinen ohjelmointi vs. pakottava ohjelmointi

Avainero toiminnallisen ohjelmoinnin ja pakottavan ohjelmoinnin välillä on se, että toiminnallinen ohjelmointi pitää laskelmia matemaattisina funktioina ja välttää tilan ja muuttuvan datan muuttamisen, kun taas pakottava ohjelmointi käyttää lauseita, jotka muuttavat ohjelman tilaa.

Ohjelmointiparadigma tarjoaa tyylin rakentaa tietokoneohjelman rakenne ja elementit. Ohjelmointiparadigmat auttavat luokittelemaan ohjelmointikieliä niiden ominaisuuksien perusteella. Ohjelmointikieli saattaa vaikuttaa useisiin paradigmoihin. Olio-paradigmassa ohjelma rakentuu objekteilla ja objektit välittävät viestejä menetelmien avulla. Logiikkaohjelmointi voi ilmaista laskennan yksinomaan matemaattisen logiikan avulla. Kaksi muuta ohjelmointiparadigmaa ovat toiminnallinen ohjelmointi ja pakollinen ohjelmointi. Funktionaalinen ohjelmointi mahdollistaa laskelmien ilmaisemisen matemaattisten funktioiden arvioinnissa. Pakollinen ohjelmointi tarjoaa lauseita, jotka muuttavat nimenomaisesti muistin tilaa. Tässä artikkelissa käsitellään eroa toiminnallisen ohjelmoinnin ja pakollisen ohjelmoinnin välillä.

Mitä on toiminnallinen ohjelmointi?

Funktionaalinen ohjelmointi perustuu matematiikkaan. Funktionaalisen ohjelmoinnin perusperiaate on, että kaikki laskennat katsotaan erillisten matemaattisten funktioiden yhdistelmäksi. Matemaattinen funktio kartoittaa tulot lähtöihin. Oletetaan, että on olemassa funktio nimeltä f(x)=xx. X-arvo 1 on yhdistetty lähtöön 1. x-arvo 2 on yhdistetty lähtöön 4. X-arvo 3 on yhdistetty ulostuloon 9 ja niin edelleen.

Ero toiminnallisen ohjelmoinnin ja pakollisen ohjelmoinnin välillä
Ero toiminnallisen ohjelmoinnin ja pakollisen ohjelmoinnin välillä

Kuva 01: Esimerkki toiminnallisesta ohjelmointikielestä – Haskell

Funktionaalisessa ohjelmoinnissa kuviot otetaan huomioon. Funktionaaliset ohjelmointikielet Haskell käyttävät alla olevaa menetelmää lukujen summauksen löytämiseen.

Summafunktiolla on kokonaislukuarvoja, ja tulos on myös kokonaisluku. Se voidaan kirjoittaa summana: [int] -> int. Summaus voidaan tehdä seuraamalla alla olevia kaavoja.

summa[n]=n, yhden luvun summa on itse luku.

Jos numeroista on luettelo, se voidaan kirjoittaa seuraavasti. n edustaa ensimmäistä numeroa ja ns edustaa muita numeroita

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

Yllä olevia kuvioita voidaan käyttää kolmen luvun, jotka ovat 3, 4, 5, summa.

3 + summa [4, 5]

3 + (4 + summa [5])

3+ 4 + 5=12

Funktiolla tai lausekkeella sanotaan olevan sivuvaikutuksia, jos se muuttaa jotakin alueensa ulkopuolella olevaa tilaa tai sillä on havaittava vuorovaikutus kutsuvien funktioidensa kanssa palauttavan arvon lisäksi. Toiminnallinen ohjelmointi minimoi nämä sivuvaikutukset. Tilamuutokset eivät riipu funktion tuloista. Siitä on hyötyä ohjelman toiminnan ymmärtämisessä. Yksi toiminnallisen ohjelmoinnin haittapuoli on, että toiminnallisen ohjelmoinnin oppiminen on vaikeampaa kuin pakottava ohjelmointi.

Mitä on pakollinen ohjelmointi?

Imperatiivinen ohjelmointi on ohjelmointiparadigma, joka käyttää lauseita, jotka muuttavat ohjelman tilaa. Se keskittyy kuvaamaan ohjelman toimintaa. Ohjelmointikielet, kuten Java, C ja C, ovat välttämättömiä ohjelmointikieliä. Se tarjoaa vaiheittaisen menettelyn siitä, mitä tehdä. Pakolliset ohjelmointikielet sisältävät rakenteita, kuten if, else, while, silmukoille, luokille, objekteille ja funktioille.

Keskeinen ero toiminnallisen ohjelmoinnin ja pakollisen ohjelmoinnin välillä
Keskeinen ero toiminnallisen ohjelmoinnin ja pakollisen ohjelmoinnin välillä

Kuva 02: Esimerkki pakottavasta ohjelmointikielestä – Java

Kymmenen luvun summaus löytyy Javasta seuraavasti. Jokaisessa iteraatiossa i-arvo lisätään summaan ja määrätään summamuuttujaan. Jokaisessa iteraatiossa summa-arvo kasvaa jatkuvasti aiemmin laskettuun summaan.

int summa=0;

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

summa=summa + i;

}

Pakollinen ohjelmointi on helppo oppia, ymmärtää ja korjata. Ohjelman tila on helppo löytää tilamuuttujien avulla. Joitakin haittoja on, että se voi tehdä koodista pitkän ja voi myös minimoida skaalautuvuuden.

Mikä on samank altaisuus toiminnallisen ohjelmoinnin ja pakottavan ohjelmoinnin välillä?

Sekä toiminnallinen ohjelmointi että pakottava ohjelmointi ovat ohjelmointiparadigmoja

Mitä eroa on toiminnallisella ohjelmoinnilla ja pakollisella ohjelmoinnilla?

Funktionaalinen vs pakottava ohjelmointi

Funktionaalinen ohjelmointi on ohjelmointiparadigma, joka pitää laskennan matemaattisten funktioiden arviointina ja välttää tilan ja muuttuvan tiedon muuttamisen. Imperative Programming on ohjelmointiparadigma, joka käyttää lauseita, jotka muuttavat ohjelman tilaa.
Rakenteet
Funktionaalinen ohjelmointi sisältää funktiokutsuja ja korkeamman asteen funktioita. Pakollinen ohjelmointi sisältää if, else, while, silmukoille, funktioille, luokille ja objekteille.
Ohjelmointikielet
Scala, Haskell ja Lisp ovat toiminnallisia ohjelmointikieliä. C, C++, Java ovat välttämättömiä ohjelmointikieliä.
Focus
Toimintaohjelmointi keskittyy lopputulokseen. Pakollinen ohjelmointi keskittyy ohjelman toiminnan kuvaamiseen.
Yksinkertaisuus
Funktionaalinen ohjelmointi on vaikeaa. Pakollinen ohjelmointi on helpompaa.

Yhteenveto – toiminnallinen ohjelmointi vs. pakottava ohjelmointi

Ohjelmointiparadigma tarjoaa tyylin rakentaa tietokoneohjelman rakenne ja elementit. Funktionaalinen ohjelmointi ja pakollinen ohjelmointi ovat kaksi niistä. Ero toiminnallisen ohjelmoinnin ja pakottavan ohjelmoinnin välillä on se, että toiminnallinen ohjelmointi pitää laskelmia matemaattisina funktioina ja välttää tilan ja muuttuvan datan muuttamisen, kun taas pakottava ohjelmointi käyttää lauseita, jotka muuttavat ohjelman tilaa.

Suositeltava: