Bruce Eckel: Language Archaeology, Metaprogramming
artima.com