Ph: 1101877653
Skip to content.

Manageability

Sections
Personal tools
You are not logged in Log in
You are here: Home » blog » stuff » Top Ten Must Read Books for the Java Developer

Top Ten Must Read Books for the Java Developer

Send this page to somebody Print this page

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:

Java in a Nutshell - First you've got to know the basics, so no better and quicker way that to get it in digest form. Who needs all the fluff that comes with the "Dummies" books? Design Patterns - The seminal work by Gamma et al. You've got to have this book if you want to understand why many of Java's APIs are designed the way they are. Test Driven Design by Example - Now before you begin coding it is a good thing to learn a new and more productive way of doing it. That is, to build the tests first before you code. Kent Beck's book is a quick introduction on a radically new and productive way of coding. Java Development With Ant - Now of course all significant software projects require some kind of automated build management. Ant is the de-facto standard in this area. I would expect anyone working in a team to know the basics of this tool. Contributing to Eclipse: : Principles, Patterns, and Plugins - A Kent Beck and Erich Gamma book. Let's get real here folks, nobody uses a text editor anymore to do their Java programming. Although this book is about building plug-ins for the Eclipse environment, it provides interesting insight on how to work inside a project with over a million lines of code. Now if you want to learn how to use Eclipse, well then don't even bother reading a book! Expert One-on-One J2EE Development without EJB - Now most Java development these days happens on the server side. Although I don't want to belittle client-side work, I know how tough that kind of work is. Rod Johnson's book is a pragamatic approach to getting work acomplished without the EJB dogma. Patterns of Enterprise Application Architecture - Server development is a whole different ball of wax, that's why this book is so critically important. You'll need to understand the patterns involved and how to make the judgement calls on what to use and what to avoid. Speaking about avoid, avoid "Core J2EE Patterns". Hibernate in Action - Now if it isn't obvious to you yet, allmost all enterprise server side development involves a relational database. The de-facto strategy for sucking data in and out of these databases is to use an O/R mapping tool. There's no better tool than Hibernate to do that, it is the basis of the new EJB 3.0 spec and getting to know it now will greatly help you going forward. This book is written by the authors of Hibernate. How Tomcat Works - Most server development also assumes a front end, and in this day and age it almost always is web based. This book gets into the intricate details of how the most common web platform works. Truly an invaluable reference. Java Performance Tuning - Finally, after you've built your application using all those nifty tools and patterns, you'll quickly realize that something doesn't perform to expectations. This is where your job is on the line, that's why there's no better book to have on hand than Jack Shirazi's book.
I should have include Doug Lea's "Concurrent Programming in Java" however I seriously doubt that many developers can grok it and if they can put it to good use.

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!

Created by admin
Last modified 2007-05-09 02:22 PM

Effective Java

Posted by Anonymous User at 2004-11-30 11:17 AM

Hey, what about Joshua Bloch's Effective Java?

Phillip Calçado

Servlet Programming

Posted by Anonymous User at 2004-11-30 12:13 PM

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

Posted by Anonymous User at 2004-11-30 12:59 PM

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.

1101848946

Posted by Anonymous User at 2004-11-30 04:09 PM

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!

Posted by Anonymous User at 2004-11-30 08:14 PM

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.

1101877653

Posted by Anonymous User at 2004-12-01 12:07 AM

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

Posted by Anonymous User at 2004-12-01 12:31 AM

Steve McConnel Code Complete IMHO is must read for all programmer not all java programmer

There's more

Posted by Anonymous User at 2004-12-01 03:48 AM

Nice list - but IMO there's two other books that any programmer should have read.

Pragmatic Programmer (already mentioned) Domain Driven Design (this is a great book)

Better, Faster, Lighter Java

Posted by Anonymous User at 2004-12-03 07:29 AM

And what about "Better, Faster, Lighter Java"?

Java Thread Programming by Paul Hyde

Posted by Anonymous User at 2004-12-03 09:40 AM

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

Posted by Anonymous User at 2004-12-03 06:29 PM

"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."

 

Powered by Plone

This site conforms to the following standards:


You are viewing a mobilized version of this site...
View original page here

Mobilized by Mowser Mowser