Wat is functioneel programmeren?

Concepten van programmeerparadigma’s

Eleanor Thomas

Senior Data Analytics Engineer

Wat is functioneel programmeren?

  • Functioneel programmeren: een paradigma rond functies, vooral pure functies
  • Pure functies: nemen invoerwaarden, geven uitvoer op basis van alleen die invoer, en doen verder niets
  • Scheiding van verantwoordelijkheden bereik je in functioneel programmeren via functies

Invoer, Verwerking, Uitvoer

Concepten van programmeerparadigma’s

Wat is een pure functie?

  • Het concept pure functie in functioneel programmeren komt uit de wiskunde
  • Pure functies kijken alleen naar invoer en produceren alleen uitvoer
  • Pure functies hebben geen "neveneffecten"
  • Geen neveneffecten betekent:
    • Geen invloed op andere variabelen in het programma
    • Niet naar bestanden schrijven
    • Geen info opslaan in een database
Concepten van programmeerparadigma’s

Voorbeeld van een pure functie

Pure functie

def pure_sum(x, y):
    output = x + y

    return output

Geen pure functie

def not_pure_sum(x, y):
    output = x + y

    print(output)

    return output
Concepten van programmeerparadigma’s

Voordelen van pure functies

  • Pure functies zijn makkelijker te snappen en te debuggen
  • Testen van pure functies is makkelijker
  • Uitvoer bij een gegeven invoer is volledig voorspelbaar
    • Zoals wiskundige functies: 5 in het kwadraat is altijd 25

Invoer, Uitvoer

Concepten van programmeerparadigma’s

Laten we oefenen!

Concepten van programmeerparadigma’s

Preparing Video For Download...