EJ
The whole Java world reads Charles Miller's blog. He's that famous; I'm not sure why. But I read his blog too. And his latest post Recommended Reading for Java developers refers to a post from 2002 where he listed 5 books Java developers should read.
Now, 6 years ago I was just starting to learn Java in a university course, writing my simple classes in Textpad and getting to grips with javac
and class paths and thinking that VisualAge was crap with its stupid-ass way of dragging lines between 'beans'. Thankfully I'm come a little further down the road since then (although man, Visual Age was crap).
Miller mentions Effective Java Second Edition. Somewhat coincidentally (not really since the damned thing was only recently published), Joshua Bloch's Effective Java is what I'm finishing off right now. It's an excellent book. It's not always geared towards what application developers do, with a much stronger focus on API design. Still, the principle is that if you see and design your components in terms of APIs they'll work better, and that's true. And beyond that, it's just a great big heap of Java experience and knowledge about the language and libraries, coming to you in little aphoristic bites that you can digest and apply to write less crap code.
In addition to Enlightenment, (capital E and all), the nice thing about Effective Java is that when it comes down to 'should I do A or B to solve this problem', as is so often the case, you can now choose a course of action safe in the knowledge that if anyone ever calls you on your decision you can just reply 'EJ item 71,' and that's the end of the conversation. Sometimes 'Josh Bloch said so' is all the justification you need.
{2008.08.07 16:47}