My question is, does your book introduce any patterns for usage of metadata (annotations)? As I can tell, this feature, implemented in many modern languages, is definitely useful for explaining your intentions not only to the compiler or to some high-level framework, but to other programmers also. What do you think?
I agree that annotations can be an excellent way of communicating intent, especially as the fashion moves from object-oriented frameworks to domain specific languages (e.g. JUnit 3.8 vs. JUnit 4). However, I wasn't confident that I had enough experience with annotations to explain them well, so I left them out of this book. If I did a second edition I would definitely include them.
Kent Beck Three Rivers Institute
Author of <a href="http://www.amazon.com/exec/obidos/ASIN/0596007434/ref=jranch-20" target="_blank" rel="nofollow">JUnit Pocket Guide</a>