Funksjonell programmering

Etter flere tiår der mange brukte det objekt-orienterte programmeringsparadigmet for applikasjonsutvikling har funksjonell programmering (FP) fått en renessanse. I FP foretrekker man expressions over statements og rene funksjoner (uten side-effekter). Språk som støtter FP har ofte konstruksjoner som gjør det enklere å håndheve immutability.

For utviklere på JVM’et har Scala og Groovy i en del år tilbudt språk-konstruksjoner som gjør det mulig å gjøre funksjonell programmering, men blant mange i Kodemaker er Clojure spesielt populært.

Utenfor JVM’et er Haskell og Elm språk som har økende popularitet.

Våre anbefalinger

Functors, Applicatives, And Monads In Pictures

Hvis du også føler at bruk av begreper som «skolemisering» og «monader» ikke er annet enn hersketeknikk, gjør deg mindre sårbar for hersing ved å lese denne artikkelen med tegninger for dummies. Les den gjerne en gang til. Les artikkel

Let's be Mainstream

Evan Czaplicki (forfatter av Elm) forsøker å få med hardcore funksjonelle programmerere (med en hang for typer) til å begynne å kommunisere med utenforstående på mer forståelige termer. Etter å ha sett denne fikk jeg endelig lyst til å kikke på et typet funksjonelt språk. Se foredraget

Locked doors, headaches, and intellectual need

Mitt anbefalte monad-tutorial. Her lærer du å fiske, i stedet for å få monad-burritoen servert, og får forklart hvorfor du og jeg ikke klarer å forstå monads. Les bloggposten

Learn You a Haskell for Great Good!

Etter å ha jobbet med Clojure og ClojureScript i lengre tid så ble jeg interessert i hvordan det var å programmere i et sterkt typet funksjonelt språk. Haskell da kanskje det første språket man tenker på. Jeg har ikke vært i et prosjekt hvor Haskell er benyttet, men konseptene er universelle og nyttige, og boken er lettlest og morsom. Besøk websidene

Våre bloggposter

Referentially Transparent CRUD

Artikkel om hvordan Datomic lar deg implementere tradisjonell CRUD med referentially transparent funksjonell kode. Les posten

Våre presentasjoner

Strøm data til nettleseren uten å lage det på nytt hver gang

Vi gikk bort fra skreddersydd data-streaming per feature og kvittet oss med kilovis med kode. Ikke var det noe moro å skrive den koden heller. Når vi legger til nye features nå, så får vi streaming med på kjøpet. I dette foredraget prater jeg om den snedige løsningen vår -- hvordan og når den funker bra, og i hvilke tilfeller den ikke funker så bra. Se video

ZombieCLJ: Live parprogrammering

Se Christian og Magnar parprogrammere på nettspill med Clojure og ClojureScript. Denne økten er for de som syns det er moro å se folk parprogrammere mens de prater om hva de driver med. Det blir Clojure med hanskene av, så man må tåle å ikke forstå alt. De som er helt nye til funksjonell programmering kan muligens få eksplodert hodet. Definitivt live koding. Se video

16 minutter om Pure Functions

Jeg snakker hva, hvorfor og hvordan om Pure Functions, i et utbrudd av entusiasme etter å ha jobbet med en kodebase basert på disse prinsippene et par år. Se video

Sideprosjekter

Learning Functional JavaScript

Et grundig videokurs i funksjonell programmering med JavaScript. Laget for Packt forlag i 2015. Sjekk ut kurset

Open source