Modulair programmeren
Modulair programmeren is een ontwerptechniek voor het schrijven van software waarbij de functionaliteit van het programma opgesplitst wordt in uitwisselbare modules, zodat elke module apart een deel van de nodige functionaliteit in het programma uitvoert.

Ondersteunende programmeertalen
Alle Objectgeoriënteerde programmeertalen ondersteunen zeker het modulair ontwerpen van een programma. Met andere programmeertalen is het ook mogelijk om modulair te werken, alhoewel er mogelijk geen syntactische functies aanwezig zullen zijn die de naamgeving van modules ondersteunen.  Programmeerontwikkelomgevingen bieden daarnaast nog een zeer grote variëteit aan functionaliteit om modulaire code te schrijven, door bijvoorbeeld gebruik te maken van bibliotheken.

Kenmerken
Bij modulair programmeren wordt het programma verdeeld in modules die elk logische functies uitvoeren. Zo weinig mogelijk modules werken op elkaar in, behalve wanneer een module een andere module nodig heeft om zijn doel te bereiken. Maar het doel van een modulair systeem moet altijd zijn dat de modules hun taken apart uitvoeren. 

De veel kleinere modules in het programma kunnen apart gecompileerd zijn en vervolgens samengevoegd worden om het uitvoerbaar programma te vormen. Deze actie wordt in een software programma meestal uitgevoerd door de compiler.

Een modulair programma heeft, zeker als het goed opgebouwd is, een grotere herbruikbaarheid dan een programma dat niet gebruikmaakt van modulariteit. Het is daarom mogelijk om modules van een programma, gewoon verder te gebruiken in een ander programma zonder dat er aan de modules iets veranderd hoeft te worden.

Theoretisch is een groot softwareproject ook gemakkelijker modulair uit te voeren omdat de meeste programmeurs niets hoeven te weten over de gehele werking van het programma, maar zich enkel bezig hoeven te houden met de module waar zij voor moeten zorgen.

Voordelen
 Meerdere programmeurs kunnen op hetzelfde moment aan één programma werken, waardoor de ontwikkeling van het programma sneller gaat. 
 Een complex probleem kan opgedeeld worden in kleinere, afzonderlijke en eenvoudigere taken, hierdoor wordt een beter overzicht behouden over het volledige programma.
 Elke module wordt apart getest en onderhouden, wat dit proces sneller maakt.
 Modules zijn uitwisselbaar tussen verschillende programma's, wat mogelijk een besparing van tijd en geld kan betekenen. Voor de uitwisseling kan men gebruikmaken van bibliotheken.

Referenties

Software engineering