Generative Programming is about manufacturing software products out of components in an automated way, that is, the way other industries have been producing mechanical, electronic, and other goods for decades. The transition to automated manufacturing in software requires two steps. First, we need to move our focus from engineering single systems to engineering families of systems - this will allow us to come up with the "right" implementation components. Second we need to automate the assembly of the implementation components using generators.
(James Coplien in the forword to "Generative Programming by Eisenecker/Czarnecki)