TechBookReport logo

Keywords: Java, object oriented programming

Title: Head First Java

Authors: Kathy Sierra and Bert Bates

Publisher: O'Reilly

ISBN: 0596004656

Media: Book

Level: Introductory

Verdict: An excellent and original introduction to Java

This is unlike any Java book you've ever read - and we mean ever. It's jokey, funny, occasionally irritating, entertaining and original. It is, (and this as important as the virtues just listed), educational in the best sense of the word. There is no learning by rote here, this is a computer book that you do not simply sit back to passively consume.

Head First Java aims to teach the basics of Java and object oriented programming. In contrast to most books, it does this by engaging the reader with cartoons, jokes, visuals, diagrams, poems, interviews and spikily annotated code. It's not that the book merely looks different, it is different. Building on sound educational psychology, the aim is to fully engage the senses and the brain so that what we read ends up sticking. Of course all of this sounds terribly gimmicky, and it would be easy to do this kind of thing badly. However Kathy Sierra and Bert Bates manage to largely avoid this.

A key strength is that the text and examples are of a high quality and that these are backed up by lots of puzzles, diagrams and quizzes to help reinforce the material. These are not the typical 'write code to do X' kind of exercises that you find in a lot of books. Here you are asked to be the compiler, or the JVM or to assemble code from a set of statements so that it matches a given output. Even for a seasoned pro there is enough here to really get you thinking.

The book starts from objects and variables, the absolute basics, and rapidly moves on. The range of material is wide enough, but no match for something like Deitel and Deitel. Some topics are skated over fairly quickly - Strings vs StringBuffers, for example - but there is an appendix which does tackle some of these topics outside of the main scope of the rest of the text. In addition to the core Java material, including interfaces, polymorphism, exceptions, statics etc, there is coverage of Swing, object serialization, networking and distributed computing (RMI, EJB etc). There's also a very useful chapter on deployment that covers packaging, jar files and Java Web Start.

As is usual with many programming titles, there is at least one big project that is used to tie up all of the topics that are covered in the text. In this case it's a networked drum machine (BeatBox) with built-in chat server for sending and receiving drum patterns. It's a nice project which really does cover a wide range of Java topics, and it's so much more interesting than most of the projects that introductory books contain (if I see one more intro book with a drawing app as the main project I think I'll kill someone …).

This is not the sort of book that you'll find recommended in a college class, but that's not to say that it shouldn't be. It works, and even the Java pro is likely to look at the familiar from a new angle with this book. It's also the perfect complement to something a bit more formal or heavy-going.

Here at TechBookReport, we can't wait to see the next book in the Head First series.

Hit the 'back' key in your browser to return to subject index page

Return to home page