Generic programming vs. Metaprogramming
What exactly is the difference? It seems like the terms can be used somewhat interchangeably, but reading the wikipedia entry for Objective-c, I came across: In addition to C’s style of procedural programming, C++ directly supports certain forms of object-oriented programming, generic programming, and metaprogramming. in reference to C++. So apparently they're different? Programming : Writing a program that creates, transforms, filters, aggregates and otherwise manipulates data. Metaprogramming : Writing a program that creates, transforms, filters, aggregates and otherwise manipulates programs