Skip to the content.

Functioneel programmeren, enkele aspecten

Het voordeel van het functionele paradigma is dat het goed aansluit bij een vak als wiskunde.

In de wiskunde hebben leerlingen al met variabelen en functies en parameters leren werken.

Een variabele representeert een waarde van een bepaald type (bij wiskunde doorgaans getallen) en die waarde blijft hetzelfde. Ook in functionele talen verandert de waarde van een variabele niet (in tegenstelling tot variabelen bij veel imperatieve talen, waar de waarde van een variabele om de haverklap kan veranderen).

Het functiebegrip is een van de kernpunten van het wiskundeonderwijs in het VO. Een functie berekent aan de hand van de input (de parameters) wat de output is. Een pure function bij functioneel programmeren is een functie zonder side effects. Als de functie meerdere malen wordt aangeroepen komt er (bij gelijke input) ook altijd hetzelfde antwoord uit. In een imperatieve, en ook in een object oriented omgeving is het antwoord (bij aanroep van een functie / methode) vaak nog afhankelijk van andere factoren (zoals bijvoorbeeld de status van het object).

Een hieruit volgend voordeel is dat pure functions zonder problemen parallel uitgevoerd kunnen worden, terwijl parallelle executie in imperatieve en object oriented omgevingen vaak veel extra complexiteit oplevert, vaak gepaard gaand met bugs.

Bronnen