Top Ten Must Read Books for the Java Developer
Don't we all love lists? Well, I saw Kevin Taylor's list of "Top 10 Must-Read Java Programming Books" and decided that I must have my own list. So at the top of my head I came up with this list:
Hope you agree with me that these books are worth every penny. However, I'm sure I had a mental blindspot somewhere and forget that all important book. Let me know what that is!
Servlet Programming
I wish more webapp developers had read "Java Servlet Programming" by Jason Hunter cover-to-cover. Too many folks these days know their way around their framework and IDE, but don't really understand what's going on under the covers.
Jay
Various disagreements
Just hitting the top two:
1/ When did you read Java in a Nutshell?
I learnt Java by reading the 2nd edition (Java 1.1), but the newer versions focus more on what's new in Java and less on Java itself. It's no longer a good book to learn Java from. I'll go with the flow and suggest Eckel's Thinking in Java instead, or if you need to learn programming too, Deitel&Deitel seem's advised.
2/ The GoF book is also an easy target to knock off. Instead read Mark Grand's first volume, Patterns in Java. An easier read, and more relevant to someone who has just learnt Java. Eventually this should be a book to read through, but there are Java translations now so people can start on those.
For the rest of the list, Shirazi's Java Performance Tuning is the only one that leaps out for me as a definite on my top list. The rest of my list would take one from Kevin Taylor's list: Effective Java. I'd then add Elliot Rusty Harold's superb Java IO and Java Network Programming pair, and Scott Oak's Java Threads, all from O'Reilly (and representing the cream of O'Reilly's Java library with Shirazi's added in). Servlets/JSP are a tricky one, probably David Geary/Marty Hall's books on the subject.
I liked Geary's AWT/Swing pair too and would recommend them.
So:
Thinking in Java Patterns in Java Java IO Java Network Programming Java Threads Effective Java N books by Hall and Geary depending on how far you want to go wrt Servlets/JSP/JSTL/JSF etc AWT and Swing volumes by Geary Hatcher's Ant book (from your list) A JUnit book
Then for higher level reading, I would add:
Java Native Interface, by Liang Concurrent Programming in Java, by Doug Lea Component Development for the Java Platform, by Stuart Halloway
At this point the reader will probably start to specialise a bit. Which database, will they do J2EE stuff or simpler, embedded, games etc.
Replies to this comment
1101848946
How about the Pragmatic Programmer? Not a Java book per se, but a really good read for programmers, with some excellent tips.
Pragmatic Programmer: Agreed!
The Pragmatic Programmer is a great book that has a lot in common with the force behind Java methodologies (Law of Demeter, code reuse, etc.). Not to say this isn't present in other programming languages... but yes, Pragmatic Programmer would be on my top ten.
From your top-ten list, the ones within immediate reach on my bookshelf:
Design Patterns Test Driven Design Patterns of Enterprise Application Architecture
Refactoring by Martin Fowler is another good one.
Replies to this comment
1101877653
For the stressful times when everybody is grumpy: Nonviolent Communication. I'm quite serious - this is an excellent book.
For managing the bazillion change requests sitting in your inbox: Getting Things Done (the hot time-management book that's currenlty making it's rounds around geekdom).
Code Complete
Steve McConnel Code Complete IMHO is must read for all programmer not all java programmer
There's more
Nice list - but IMO there's two other books that any programmer should have read.
Replies to this comment
Better, Faster, Lighter Java
And what about "Better, Faster, Lighter Java"?
Replies to this comment
Java Thread Programming by Paul Hyde
Yes, it was published in 1999, but I read both it and "Concurrent Programming in Java" and while Lea's book reads like a dry textbook, Hyde's book was what made me understand threads, and it has lots of useful code in it.
O-R Mapping
"The de-facto strategy for sucking data in and out of these databases is to use an O/R mapping tool."
I don't see that where I work; it's a JDBC world. I would suggest something like "Database Design for Mere Mortals" instead of this. Or, if you must have Java content, "Java Programming with Oracle SQLJ."
![[image]](http://mowser.com/img?url=http%3A%2F%2Fwww.feedburner.com%2Ffb%2Fimages%2Fpub%2Fflchklt.gif)



Hey, what about Joshua Bloch's Effective Java?
Phillip Calçado
Replies to this comment