If you are already a code generation fanatic, this book is a great way to
understand the breadth of code generation techniques and will help you
fine tune your techniques. Many code generators are developed in house
by people who are very smart but who haven't really had many other
code generation systems to learn from.
If you aren't a hardcore code generator, but your exposure is limited
to casual use of XDoclet or code generation from UML tools, will you
find value in the book? I think so. I am a huge fan of code generation
tools, particularly XDoclet. If you have used XDoclet for any amount of
time, chances are you are amazed at what code generation can do. Well, guess
what? XDoclet is just the tip of the iceberg. If you want to take code
generation to the next level, read this book.
Finally, there are the non-generators. I have to say that if you aren't
already a code generator, you might be overwhelmed by the scope of the
book. Fortunately there are some good concept sections which explain
the benefits of code generation and can get you started on the path
to code generation enlightenment. I personally would recommend testing
the waters with code generation tools like XDoclet before jumping into
the techniques presented in the book. But if you are a senior programmer
with a sense of adventure, then you'll have no problems getting started with
this book.
At 300 pages, the book is easily digestable. A lot of the examples are in
ruby, but Jack has worked hard not to let implementation languages be
an issue. This is a concept book, not a language book, and the ideas
inside aren't limited to any one language or platform. (hint: you don't
necessarily have to write a code generator in the same language you are
generating for)
This book definitely deserves a look if you are interested in
code generation.