by Kathy Sierra and Bert Bates
Publisher: O'Reilly Media, Inc.
Publication Date: February 2005
Reviewed by Robert Eckstein
If you look at the Top 50 Books on Amazon in the Computers and Internet (C&I) section, you're almost certain to find a "Head First Book" up there. Like most books, they bounce around in the rankings, but if you've ever thumbed through a "Head First Book", you know that they deserve that high ranking for one reason alone: "Head First" tosses the dry, technical learning book that we all suffered through in programming class—and occasionally still suffer through—and replaces it with something that's, well, just a heck of a lot of fun.
Hence, I had an ear-to-ear grin when O'Reilly sent me a free copy of the second edition of "Head First Java" today. I had been looking forward to this book for quite some time. No, it wasn't such a hot item that I could use it to barter some fence repair out of my neighbor, nor did I feel I had the courage to ignore my family and plow through it in three nights like the first edition. Yet, there's just something about those 1950s pictures that draws me in. The sheer audacity of teaching computer programming using head shots of possible extras from the American television show "Leave It To Beaver" just has to put a smile on your face. Did we really dress like that 50 years ago? Not that I'm criticizing that dreamy-girl-with-the-soda that comes in every once in a while and sets up the next lesson, but I can't deny this irresistible urge to put a "Gee, Wally..." in front of every question I see at the end of a chapter. All in all, I guess I shouldn't comment, since I look more like the nerd in the center of the cover.
There are a wide variety of books on learning Java. Arguably—and trust me, I will argue—the best thing about this book are the figures. Almost every page comes with a number of great visual metaphors to help you not only learn Java, but recall it later with eccentric fits of random laughter while stuck in a meeting. Want a great reminder of how serialization and deserialization works? Go no further than the table of contents for Chapter 14, where an inflated rubber-frog intertube (deserialized) is pasted next to itself completely deflated, looking like the life has been sucked right out of it (serialized). Want to know why inheritance isn't always a good thing? Try asking the "doctor" on page 169, who inherited his knowledge so he didn't have to go to medical school. Passing by copy instead of value? Let the depressed office worker making multiple photocopies of his face help you remember which is which. And, of course, there's the ever-present crossword puzzles that I even find my wife penciling words on in her spare time.
There's plenty of J2SE 5.0 material in this edition as well. For example, number formatting—familiar to anyone who has programmed using the old
printf() functions in C—gets due coverage in Chapter 10. The enhanced for loop gets some text on page 105, and the all important generics (in this case, with the Collections framework) gets a thorough treatment in Chapter 16. Even the Java language itself on page 4 has morphed from a turtle (Java 1.0.2) ten years ago to Lassie, to a proud horse (1.3), and then to some sort of "Iron Giant" Mech warrior with Java 5.0. Once of these days, I'll have to ask the authors about that one.
Another nice thing about Head First Java, 2 nd Edition is that it whets the appetite for more. With later coverage of more advanced topics such as Swing and RMI, you just can't wait to dive into those APIs and code that flawless, 100000-line program on java.net that will bring you fame and venture-capital fortune. There's also a great deal of material, and even some best practices, on networking and threads—my own weak spot. In this case, I couldn't help but crack up a little when the authors use a 1950s telephone operator—yeah, you got it, that lady with a beehive hairdo that manually hooks in patch lines—as an analogy for TCP/IP ports.
One final word: I need to disclose that I used to work for O'Reilly Media, Inc. as an editor, back when it was called O'Reilly and Associates, Inc. That being said, I don't get any royalties from this book (and boy I wish I did), nor am I rewarded for reviewing it in any way, shape, or form. All I get is a free copy of the book, which is useful around income tax season since I can donate the previous edition to my local library and add it to my itemized deductions. However, you really should go to the bookstore and thumb through Head First Java, 2 nd Edition. Even if you already know Java, you may pick up a thing or two. And if not, just thumbing through the pages is a great deal of fun.
Curious about this book? Download a sample chapter or two of this book from the publisher's website.
You can order Head First Java, 2 nd Edition from the following sites:
Are you a Java publisher and you'd like me to review your Java Standard Edition, Micro Edition, or Enterprise Edition book? Don't hesitate, send me an email right now. No, I mean it. Stop what you're doing and write me. Have you contacted me yet? Okay, good. Now, that being said, I have to give my standard disclaimer: I won't review all of them, but we all know that there are some gems out there that really deserve some limelight. So don't hesitate to let me know what they are.
Oracle is reviewing the Sun product roadmap and will provide guidance to customers in accordance with Oracle's standard product communication policies. Any resulting features and timing of release of such features as determined by Oracle's review of roadmaps, are at the sole discretion of Oracle. All product roadmap information, whether communicated by Sun Microsystems or by Oracle, does not represent a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. It is intended for information purposes only, and may not be incorporated into any contract.