Generativity has been in my bag of tricks for at least two decades. Tristan is talking about the general case, but I have been using programs to generate programs and data for a long time. Examples: a DSL to automate call processing in a PBX and an application generator to customize smog checking to state specific requirements. The application generator reduced the code size by 80%.<p>JSP is a generator, as are most templating systems.<p>For those who have an itch, I recommend Generative Programming (2000) by Czarnecki and Eisenecker. Or Google Don Batory for articles from the same time period.