IT-lexicon › Programmeren › Metaprogrammeren

Metaprogrammeren

Programmeren Svenska → Bijgewerkt: 2026-10-03

Code die andere code genereert, transformeert of bewerkt — tijdens het compileren (statisch) of tijdens het draaien (dynamisch).

Het spectrum loopt van C-macro's (tekstvervanging) via macro's in Rust en Scala (AST-transformatie) en Lisp-macro's (code is data, de krachtigste vorm) naar C++-templates, Python-decorators en __getattr__, tot aan JS Proxy. Java-annotaties en reflectie vormen een categorie op zich.

Handig tegen boilerplate (Serde, Pydantic, dataclasses), in ORM's, mocking en frameworks. De prijs: lastiger debuggen, slechtere IDE-ondersteuning en stacktraces, en het wordt snel te veel gebruikt. Vuistregel: schrijf de code drie keer voordat je de macro schrijft.

← Terug naar het lexicon