Forskjell mellom funksjonell programmering og viktig programmering

Nøkkelforskjell - Funksjonell Programmering vs Imperative Programmering
 

De nøkkelforskjell mellom funksjonell programmering og viktig programmering er at funksjonell programmering vurderer beregningene som matematiske funksjoner og unngår å endre statlige og mutable data mens viktig programmering bruker de setningene som endrer programtilstanden.

Et programmeringsparadigm gir en stil for å bygge opp strukturen og elementene i et dataprogram. Programmeringsparadigmaene hjelper til med å klassifisere programmeringsspråk basert på deres funksjoner. Et programmeringsspråk kan påvirke flere paradigmer. I objektorientert paradigme er programmet strukturert ved hjelp av objekter, og objektene sender meldinger ved hjelp av metoder. Den logiske programmeringen kan uttrykke beregning i utelukkende når det gjelder matematisk logikk. Et annet to programmeringsparadigmer er funksjonell programmering og viktig programmering. Funksjonell programmering gjør det mulig å uttrykke beregninger som evaluering av matematiske funksjoner. Imperativ programmering gir setninger som eksplisitt endrer minnestatusen. Denne artikkelen diskuterer forskjellen mellom funksjonell programmering og imperativ programmering.

INNHOLD

1. Oversikt og nøkkelforskjell
2. Hva er funksjonell programmering
3. Hva er Imperative Programming
4. Likheter mellom funksjonell programmering og viktig programmering
5. Side ved side sammenligning - Funksjonell programmering vs Imperative programmering i tabellform
6. Sammendrag

Hva er funksjonell programmering?

Funksjonell programmering er basert på matematikk. Nøkkelprinsippet bak funksjonell programmering er at hele beregningen regnes som en kombinasjon av separate matematiske funksjoner. En matematisk funksjon karter innganger til utganger. Anta at det er en funksjon kalt f (x) = x * x. X-verdien 1 er kartlagt til utgang 1. x-verdien 2 er kartlagt til utgang 4. x-verdien 3 er kartlagt til utgang 9 og så videre.

Figur 01: Eksempel på funksjonelt programmeringsspråk - Haskell

I funksjonell programmering vurderes mønstrene. De funksjonelle programmeringssprogene Haskell, bruker nedenstående metode for å finne summasjonen av tallene.

Summen funksjonen har heltallverdier, og resultatet blir også et heltall. Det kan skrives som sum: [int] -> int. Summen kan gjøres ved å følge nedenstående mønstre.

sum [n] = n, summen av ett tall er selve tallet.

Hvis det er en liste over tall, kan den skrives som følger. N representerer det første tallet, og ns representerer de andre tallene

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

Over mønstre kan brukes for å finne summasjonen av tre tall som er 3,4,5.

3 + sum [4,5]

3 + (4 + sum [5])

3+ 4 + 5 = 12

En funksjon eller et uttrykk sies å ha bivirkninger hvis det endrer noen tilstand utenfor sitt omfang eller har en observerbar samspill med sine kallfunksjoner i tillegg til returverdien. Funksjonell programmering minimerer disse bivirkningene. Statens endringer er ikke avhengige av funksjonsinngangene. Det er nyttig når du forstår atferden til programmet. En ulempe med funksjonell programmering er at læring funksjonell programmering er vanskeligere enn nødvendig programmering.

Hva er Imperative Programming?

Imperativ programmering er et programmeringsparadigm som bruker de setningene som endrer et programs tilstand. Det fokuserer på å beskrive hvordan et program opererer. Programmeringsspråk som Java, C og C # er viktige programmeringsspråk. Det gir en trinnvis prosedyre om hva du skal gjøre. Imperative programmeringsspråk inneholder strukturer som om, ellers, mens, for looper, klasser, objekter og funksjoner.

Figur 02: Eksempel på Imperative programmeringsspråk - Java

Summen av ti tall kan bli funnet i Java som følger. I hver iterasjon legges I-verdien til summen og tilordnes sumvariabelen. I hver iterasjon fortsetter sumverdien ved å legge til den tidligere beregnede summen.

int sum = 0;

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

sum = sum + i;

Imperativ programmering er lett å lære, forstå og feilsøke. Det er lett å finne programtilstanden på grunn av bruk av tilstandsvariabler. Noen ulemper er at det kan gjøre koden lang og kan også redusere skalerbarheten.

Hva er likheten mellom funksjonell programmering og viktig programmering?

  • Både funksjonell programmering og viktig programmering er programmeringsparadigmer.

Hva er forskjellen mellom funksjonell programmering og viktig programmering?

Funksjonell vs Imperative Programmering

Funksjonell programmering er et programmeringsparadigm som vurderer beregning som evaluering av matematiske funksjoner og unngår å endre tilstand og gjensidig data. Imperativ programmering er et programmeringsparadigm som bruker uttalelser, som endrer et programs tilstand.
 strukturer
Funksjonell programmering inneholder funksjonssamtaler og høyere rekkefølgefunksjoner. Imperative Programmering inneholder om, ellers, mens, for looper, funksjoner, klasser og objekter.
Programmerings språk
Scala, Haskell og Lisp er funksjonelle programmeringsspråk. C, C + +, Java er avgjørende programmeringsspråk.
 Fokus
Funksjonell programmering fokuserer på sluttresultatet. Imperative Programming fokuserer på å beskrive hvordan et program opererer.
enkelhet
Funksjonell programmering er vanskelig. Imperativ programmering er enklere.

Sammendrag - Funksjonell Programmering vs Imperative Programmering

Et programmeringsparadigm gir en stil for å bygge opp strukturen og elementene i et dataprogram. Funksjonell programmering og viktig programmering er to av dem. Forskjellen mellom funksjonell programmering og imperativ programmering er at funksjonell programmering vurderer beregningene som matematiske funksjoner og unngår å endre statlige og mutable data mens viktig programmering bruker de setningene som endrer programtilstanden.

Henvisning:

1. "Imperative Programming." Wikipedia, Wikimedia Foundation, 28. mars 2018. Tilgjengelig her  
2. "Funksjonell programmering." Wikipedia, Wikimedia Foundation, 28. mars 2018. Tilgjengelig her  
3.Computerphile. YouTube, YouTube, 30. august 2013. Tilgjengelig her 

Bilde Courtesy:

1.Haskell Logo'By Haskell1965 - Eget arbeid, (CC BY-SA 3.0) via Commons Wikimedia 
2.'14485179234'by Linux Skjermbilder (CC BY 2.0) via Flickr