Goals for "code generation"

  1. Learn how and when to use generative technologies.

  2. Learn the techniques behind generative approaches. When do you need a model? How do you combine components/frameworks with code generation classes? Finally, how do you BUILD a code generator.

  3. Understand why code generation is so important in todays J2EE or .NET environments

  4. Learn the necessary tools: template processors, code generators, compiler-compilers, XSLT-engines

  5. Learn to perform domain analysis and create meta-models and models.

  6. Finally learn how to create flexible software by different means: frameworks, components, generation or mixtures of all these technologies.

It is my firm believe that people who really understand code and generation techniques will automatically realize the importance of models and meta-models. The first generative techniques we will use do not require a model. But as we go along we will experience that dreadful statement "I can't fix it - it's not in the (meta-)model!" more often.