เขียนโปรแกรมที่เขียนโปรแกรมอื่นอีกที, C preprocessor (marco) ก็เป็น metaprogramming อย่างนึง
Metaprogramming is the writing of programs that write or manipulate other programs (or themselves) as their data or that do part of the work that is otherwise done at runtime during compile time. In many cases, this allows programmers to get more done in the same amount of time as they would take to write all the code manually. — Wikipedia
The Art of Metaprogramming, Part 1: Introduction to metaprogramming