Hopp til innhold

Funksjonell programmering

Fra Wikipedia, den frie encyklopedi
Sideversjon per 17. jun. 2016 kl. 11:11 av Currymonade (diskusjon | bidrag) (Nytt kapittel om funksjonell programmering i Java 8 og små endringer.)

Funksjonell programmering brukes innenfor informatikken om et programmeringsparadigme som behandler utregninger som en evaluering av matematiske funksjoner og unngår tilstandsendringer og foranderlige data. Det er et deklarativt programmeringsparadigme, i motsetning til imperativt programmeringsparadigme, som betyr at programmering er gjort med uttrykk som deklarerer hva som skal utføres i motsetning til å beskrive hvordan.

I funksjonell programmering avhenger utverdien bare av argumentene som er innverdien til denne funksjonen, slik at en funksjon f som kalles to ganger med argumentet x, vil produsere den samme verdien f(x) hver gang. Å eliminere sideeffekter, dvs. Forandringer i tilstanden som ikke avhenger av funksjonens input, kan gjøre det mye enklere å forstå og å forutsi programmets adferd, som er en av hovedmotivasjonene bak utviklingen av funksjonell programmering.

Funksjonell programmering i Java 8

I Java 8, som tidligere var et rent imperativt språk, har for å møte den økende interessen for funksjonell programmering implementert spåklige konstruksjoner og biblioteker for å støtte dette paradigme. Sentralt i dette er støtten for Lambda uttrykk, at man kan sende kode i form av funksjoner som argumenter til metoder. Dette gir språket mye større kraft.