Erinevus funktsionaalse ja kohustusliku programmeerimise vahel

Võtme erinevus - funktsionaalne Programmeerimine vs kohustuslik programmeerimine
 

võtme erinevus funktsionaalse ja hädavajaliku programmeerimise vahel on see, et funktsionaalne programmeerimine peab arvutusi matemaatilisteks funktsioonideks ja väldib oleku ja muudetavate andmete muutmist, samas kui hädavajalik programmeerimine kasutab avaldusi, mis muudavad programmi olekut.

Programmeerimisparadigma pakub stiili arvutiprogrammi struktuuri ja elementide ehitamiseks. Programmeerimisparadigmad aitavad programmeerimiskeeli nende omaduste alusel klassifitseerida. Programmeerimiskeel võib mõjutada rohkem paradigmasid. Objektorienteeritud paradigmas on programm üles ehitatud objektide abil ja objektid edastavad sõnumeid meetodite abil. Loogikaline programmeerimine võib väljendada arvutamist üksnes matemaatilise loogika mõttes. Veel kaks programmeerimise paradigmat on funktsionaalne programmeerimine ja hädavajalik programmeerimine. Funktsionaalne programmeerimine võimaldab arvutusi väljendada kui matemaatiliste funktsioonide hindamist. Kohustuslik programmeerimine pakub avaldusi, mis muudavad mälu olekut selgesõnaliselt. Selles artiklis käsitletakse funktsionaalse ja hädavajaliku programmeerimise erinevust.

SISU

1. Ülevaade ja peamised erinevused
2. Mis on funktsionaalne programmeerimine?
3. Mis on hädavajalik programmeerimine
4. Funktsionaalse ja imperatiivse programmeerimise sarnasused
5. Kõrvuti võrdlus - funktsionaalne programmeerimine vs kohustuslik programmeerimine tabelina
6. Kokkuvõte

Mis on funktsionaalne programmeerimine??

Funktsionaalne programmeerimine põhineb matemaatikal. Funktsionaalse programmeerimise põhiprintsiip on see, et kogu arvutamist käsitletakse eraldi matemaatiliste funktsioonide kombinatsioonina. Matemaatiline funktsioon kaardistab sisendid väljunditeks. Oletame, et on olemas funktsioon nimega f (x) = x * x. X väärtus 1 kaardistatakse väljundiks 1. x väärtus 2 kaardistatakse väljundiks 4. x väärtus 3 kaardistatakse väljundiks 9 ja nii edasi.

Joonis 01: Funktsionaalse programmeerimiskeele näide - Haskell

Funktsionaalses programmeerimises võetakse arvesse mustreid. Funktsionaalsed programmeerimiskeeled Haskell kasutab numbrite liitmise leidmiseks allpool toodud meetodit.

Summafunktsioonil on täisarvud ja tulemus on ka täisarv. Seda saab kirjutada summana: [int] -> int. Summeerimise saab teha järgmiste mustrite järgi.

summa [n] = n, ühe arvu summa on number ise.

Kui on olemas numbriloend, saab selle kirjutada järgmiselt. N tähistab esimest arvu ja ns tähistab teisi numbreid

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

Ülaltoodud mustreid saab kasutada kolme arvu, mis on 3,4,5, liitmiseks.

3 + summa [4,5]

3 + (4 + summa [5])

3+ 4 + 5 = 12

Funktsioonil või avaldisel on väidetavalt kõrvalmõjusid, kui see muudab mõnda olekut väljaspool selle ulatust või kui sellel on tagastatava väärtuse kõrval täheldatav koostoime kutsumisfunktsioonidega. Funktsionaalne programmeerimine minimeerib need kõrvaltoimed. Oleku muutused ei sõltu funktsiooni sisenditest. See on kasulik programmi käitumise mõistmisel. Funktsionaalse programmeerimise üks puudus on see, et funktsionaalse programmeerimise õppimine on hädavajaliku programmeerimisega võrreldes raskem.

Mis on hädavajalik programmeerimine?

Imperatiivne programmeerimine on programmeerimise paradigma, mis kasutab avaldusi, mis muudavad programmi olekut. See keskendub programmi toimimise kirjeldamisele. Programmeerimiskeeled nagu Java, C ja C # on hädavajalikud programmeerimiskeeled. See pakub samm-sammult protseduuri, mida teha. Kohustuslikud programmeerimiskeeled sisaldavad ahelate, klasside, objektide ja funktsioonide struktuure, näiteks kui, muidu, samas.

Joonis 02: Kohustusliku programmeerimiskeele näide - Java

Kümne numbri liitmise leiate Java-st järgmiselt. Igas iteratsioonis liidetakse summa i väärtusega ja omistatakse summa muutujale. Igas iteratsioonis jätkub summa väärtus eelnevalt arvutatud summale.

int summa = 0;

jaoks (int i = 0; i< =10; i++)

summa = summa + i;

Kohustuslikku programmeerimist on lihtne õppida, mõista ja siluda. Oleku muutujate kasutamise tõttu on programmi olekut lihtne leida. Mõned puudused on see, et see võib koodi pikendada ja vähendab ka mastaapsust.

Milline on funktsionaalse ja imperatiivse programmeerimise sarnasus??

  • Nii funktsionaalne programmeerimine kui ka kohustuslik programmeerimine on programmeerimise paradigmad.

Mis vahe on funktsionaalsel ja kohustuslikul programmeerimisel??

Funktsionaalne vs kohustuslik programmeerimine

Funktsionaalne programmeerimine on programmeerimise paradigma, mis arvestab arvutamist matemaatiliste funktsioonide hindamisena ja väldib oleku ja muudetavate andmete muutmist. Imperatiivne programmeerimine on programmeerimisparadigma, mis kasutab avaldusi, mis muudavad programmi olekut.
 Konstruktsioonid
Funktsionaalne programmeerimine sisaldab funktsioonikõnesid ja kõrgema järgu funktsioone. Imperatiivne programmeerimine sisaldab silmuste, funktsioonide, klasside ja objektide jaoks, kui see veel toimub.
Programmeerimiskeeled
Scala, Haskell ja Lisp on funktsionaalsed programmeerimiskeeled. C, C ++, Java on hädavajalikud programmeerimiskeeled.
 Fookus
Funktsionaalne programmeerimine keskendub lõpptulemusele. Kohustuslik programmeerimine keskendub programmi toimimise kirjeldamisele.
Lihtsus
Funktsionaalne programmeerimine on raske. Kohustamatu programmeerimine on lihtsam.

Kokkuvõte - funktsionaalne Programmeerimine vs kohustuslik programmeerimine

Programmeerimisparadigma pakub stiili arvutiprogrammi struktuuri ja elementide ehitamiseks. Funktsionaalne programmeerimine ja kohustuslik programmeerimine on neist kaks. Funktsionaalse programmeerimise ja hädavajaliku programmeerimise erinevus seisneb selles, et funktsionaalses programmeerimises peetakse arvutusi matemaatilisteks funktsioonideks ja välditakse oleku ja muudetavate andmete muutmist, samas kui hädavajalik programmeerimine kasutab avaldusi, mis muudavad programmi olekut.

Viide:

1. “Kohustuslik programmeerimine”. Wikipedia, Wikimedia Foundation, 28. märts 2018. Saadaval siin  
2. “Funktsionaalne programmeerimine”. Wikipedia, Wikimedia Foundation, 28. märts 2018. Saadaval siin  
3.arvuti. YouTube, YouTube, 30. august 2013. Saadaval siin 

Pilt viisakalt:

1.'Haskell Logo'By Haskell1965 - Oma töö, (CC BY-SA 3.0) Commonsi Wikimedia kaudu 
2.'14485179234' Linuxi ekraanipiltide (CC BY 2.0) kaudu Flickr