"For years it was said that the road to modern riches lay in a mastery of Java. This once inspired me to contact the Starbucks Corporation about acquiring a franchise with the remaining wisps in our trust fund (true story: an ill-starred thrice-great grandfather of mine set sail for Santiago in 1849, having misheard the talk about gold in San Francisco. This sort of thing runs in families). The chatter was of course about computers, not coffee, and years later I finally acted on this revised intelligence and sat down before my PC with this outstanding manual, determined to learn the new language of commerce. Bloch presents an admirably detailed and robustly structured survey of the elements of Java programming (named, I believe, for the Indonesian island upon which it was created). He takes the young cadet by the chin and methodically drills him through the paces. By lunchtime of the first day I felt like a union shop steward, having learned to "enforce noninstantiability with a private constructor" (chapter 2, page 12). By evening I was high-end a country club bouncer, having learned to "minimize the accessibility of classes and members" (Chapter 4, page 59). But by the time I got to the section on "returning zero-length arrays, not nulls" I was out of metaphors and completely over my head in this black new art. For weeks I felt inept and hopelessly outmoded, until one day I had the good fortune of hailing a taxicab whose driver was the author of one of this book's rivals. It was then that I realized that the bubble had truly burst, and that I hadn't missed out on anything after all. I tipped him handsomely."