Hoppa till innehållet

Funktionell programmering

Från Wikipedia
Version från den 3 augusti 2005 kl. 16.59 av Fredrik (Diskussion | Bidrag)
(skillnad) ← Äldre version | visa nuvarande version (skillnad) | Nyare version → (skillnad)

Funktionell programmering är en form av programmering inom vilken program konstrueras genom komposition av matematiska funktioner, och exekvering innebär att funktionerna utvärderas. Detta kan kontrasteras med procedurell och imperativ programmering, där datorn instrueras att utföra instruktioner sekventiellt. Det finns ett flertal funktionella programspråk.

Funktionell programmering har flera fördelar:

Till nackdelarna hör:

  • Funktionella språk kan vara ineffektiva jämfört med procedurella, framför allt vid användning av komplicerade datastrukturer
  • Funktionell programmering använder rekursion istället för iteration; många programmerare finner rekursion svårare att förstå och tillämpa

Funktionell programmering har sitt ursprung i Lambdakalkylen, som utvecklades på 1920-talet av Alonzo Church. Det äldsta funktionella språket är Lisp, vilket utvecklades på 1960-talet och näst Fortran är det äldsta programspråket som fortfarande används i större utsträckning. Det finns flera varianter av Lisp, däribland Common Lisp, Logo, Scheme och Dylan. Till de moderna funktionella språken hör Haskell, ML (samt versioner av detta), Erlang, Clean och Miranda.