Home
Examenprogramma 2020
Domein G Algoritmiek, berekenbaarheid en logica
Domein H Databases
Domein I Cognitive computing
Domein J Programmeerparadigma’s
Binnen informatica zijn programmeerparadigma's denkpatronen of uitgesproken concepten van programmeren, die voornamelijk verschillen in de wijze van aanpak om het gewenste resultaat te kunnen behalen.

Sommige programmeertalen zijn ontworpen om slechts één bepaalde paradigma te ondersteunen, maar er zijn ook andere programmeertalen die meerdere paradigma's ondersteunen (zoals C++, Java en Scala). Programma's die bijvoorbeeld geschreven zijn in C++ kunnen in het geheel procedureel zijn, geheel objectgeoriënteerd zijn of elementen van beide paradigma's bevatten.

De belangrijkste programmeerparadigma's zijn:
  1. Imperatief programmeren
  2. Functioneel programmeren
  3. Logisch programmeren
  4. Objectgeoriënteerd programmeren

1. In imperatief programmeren is een programma in essentie een reeks instructies die het geheugen manipuleren en die op volgorde door de computer worden uitgevoerd. Deze stijl van programmeren staat dicht bij de werking van een computer en werden derhalve als eerste praktisch gerealiseerd.
2. Functionele talen zijn gebaseerd op formalismen zoals de theorie van recursieve functies of de lambdacalculus-programma's. Hier worden wiskundige functies gedefinieerd die invoer naar uitvoer transformeren.
3. Bij logisch programmeren, gebaseerd op (doorgaans) predicatenlogica, zijn het definities van predicaten die een bepaalde relatie tussen objecten in het geheugen uitdrukken.
4. Objectgeoriënteerd programmeren (object oriented programming) verenigt berekening en de gegevens: deze worden verpakt in objecten, waarbij de details worden verborgen achter een algemene interface, vaak gerangschikt in een hiërarchie van klassen. Objecten sturen elkaar berichten (Smalltalk) of roepen elkaars methoden aan (C++, Java); alleen zo hebben ze toegang tot elkaars gegevens. De methoden/reacties op berichten zijn procedures die de interne gegevens van een object manipuleren.
Domein K Computerarchitectuur
Domein L Netwerken
Domein N Security
Domein O Usability
Domein P User experience
Domein Q Maatschappelijke en individuele invloed van informatica
Domein R Computational science