itjobb.se

Nyheter

Allt om F# | Funktionell programmering

Men vad är F# egentligen?

De flesta inom rekryteringsbranschen har stött på F#. F# (uttalas F Sharp) är ett funktionellt programspråk som ursprungligen utvecklades av Don Syme på Microsoft Research. Men p.g.a. efterfrågan från utvecklare har F# nu släppts som ett fullfjädrat programspråk och utvecklas numera av Microsoft Developer Division. Programspråket är baserat på OCaml men kombinerar även element från flera andra paradigmer såsom objektorientering och imperativ programmering på Microsofts .NET-ramverk. F# är nu implementerat i Visual Studio 2010. Det kallas även för ett funktionellt programmeringsspråk.

Funktionell programmering

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:

  1. Det lämpar sig väl för avancerade programmeringstekniker som funktioner av högre ordning och polymorfism.
  2. Frånvaron av sidoeffekter minskar risken för buggar och gör program mer modulära.
  3. Det blir lättare att bevisa att ett program är korrekt, det vill säga gör vad det är avsett att göra.
  4. Optimeringstekniker som till exempel memoisation och lat evaluering kan tillämpas.
  5. Funktionella program lämpar sig väl för automatiserad analys.

 

Till nackdelarna hör:

  1. Funktionella språk kan vara ineffektiva jämfört med imperativa språk, framför allt vid användning av komplicerade datastrukturer.
  2. Funktionella program använder tekniker som många programmerare finner svåra att förstå och tillämpa, som rekursion, funktioner av högre ordning och polymorfism.
  3. In- och utmatning (till exempel text, grafik och styrning av hårdvara) kan bli problematiskt i funktionella språk.

 

Funktionell programmering har sitt ursprung i Lambdakalkylen, som utvecklades på 1930-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, Dylan och Clojure. Till de moderna funktionella språken hör Haskell, ML (samt versioner av detta), Erlang, Clean, Miranda och F#.

Väldigt sällan dock får vi förfrågningar av IT-rekrytering eller IT-konsulter för just denna kompetens, men har på sistone blivit mer av. Läs gärna vidare under våra lediga .