View Review Details


Book:   Head First Java
Subject:   Head First Java Review
Date:   2003-08-02 08:32:35
From:   Bill Gathen
Rating:  StarStarStarStarStar


I must confess, I was intrigued enough by the "Head First" approach to buy this book, but after programming Java for three years, didn't think I'd learn much from it. I was (and am) looking forward to "Head First EJB", since that's a subject I know I don't know anything about.


Someone said recently (it might have been Bob Cringely) that "incompetence is something you can't recognize in yourself until you've climbed out of it". This book brought that home to me, in particular the sections on polymorphism and memory management.


If you'd asked me 6 months ago if I was an OOP programmer, I'd have said "sure"...I mean, I use objects all the time, create my own, I must understand OOP, right? Wrong.


I was a procedural programmer using objects to organize my data and methods, but I was not truly leveraging the power of OOP. I admit to not having the slightest idea why anyone would use an interface. I get it now. I think I really get the "objects first" mindset that sets OOP apart.


Something no one has mentioned so far is the "There Are No Dumb Questions" sidebars. Hallelujah! Kathy and Bert have obviously been teaching this stuff awhile, or just be extremely insightful people (perhaps both), but they always had the "Yeah, but..." question that was on my mind, with an insightful, amusing answer that put my mind at ease. These are the sorts of questions people pose to themselves and say "...therefore this feature is not really very useful", instead of saying "...I must not be seeing the true value of this feature". Hubris may be one of Larry Wall's Holy Trinity, but sometimes it prevents you from seeing the brilliance in others.


Unlike most tech books, this one gets better (and more difficult to put down) as it goes along. From Polymorphism on, the utility and power of the concepts being taught were really enlightening to me. I'm a web programmer, mainly, so a lot of the Swing and networking stuff were peripheral to my main tasks, but I feel a lot more confident that I could apply the techniques when they are appropriate to the job at hand.


I will say that the typos in this first edition were very irksome, but I fully expect them all to be rectified by the second printing (which should be any time now, given this book's popularity). However, with a book this interested in novelty and keeping you "on your toes", it could almost be considered "part of the game", though I'm sure the authors don't feel the same.


Two thumbs way up, Kathy and Bert, both to this book and the overall concept. Bring on EJB!

Head First Java