Opleiding: Functioneel Programmeren
In de cursus Functioneel Programmeren worden de basisprincipes van functioneel programmeren besproken en geïllustreerd met voorbeelden.
Intro Functional Programming
De cursus gaat van start met een bespreking van op de achtergronden van functioneel programmeren in de lambda calculus. In het functioneel programmeer paradigma wordt een programma opgebouwd uit functies die operaties uitvoeren op de argumenten.
Functional Characteristics
Moderne talen zoals Java, Python, Scala en JavaScript zijn uitgerust met functionele kenmerken maar zijn er niet geheel op gebaseerd.
Pure Functional Languages
Programmeertalen die in zijn geheel op dit paradigma zijn gebaseerd zijn Erlang, F♯, Haskell, Lisp en ML.
Side Effects
Aan de orde komt hoe in puur functionele programmeertalen functies geen neveneffecten veroorzaken. Dit zijn effecten die invloed hebben op meer dan het resultaat van de functie, zoals het veranderen van een globale variabele. Variabelen die dienen als accumulator, counter of controle variabele horen niet thuis in een functionele taal.
Map en Reduce
Voorts wordt aandacht besteed aan kenmerkende functionele begrippen zoals immutable data, clojures en map en reduce algoritmes.