3.0 out of 5 stars
An OK Java Book -- Not as Good as Their Other Books
September 22, 2006
This book follows the Deitels' standard format and content used in the other two of their books I've read ("C++ How to Program (4th Edition)," and "C How to Program (Fourth Edition)"). As before, the teaching method, programming style, most of the examples used, and most of the problems presented are largely the same but have been rewritten to a Java perspective. If you've read and liked any of the Deitels' other books, this book will be fine for you and you'll know pretty much what to expect from it.
However, note that I'm rating this book slightly lower than those other two books: 3 stars out of 5 instead of 4 stars out of 5. This isn't really for any shortcoming of the book. Instead, it's because of the "accelerated" aspect of the book's structure. In this book, the Deitels push forward the use of Java GUI elements via optional sections. Theoretically, this should appease some of those who disparage similar books for not emphasizing the "flavor" of Java. Unfortunately, since the Deitels specify that the book is for anyone from absolute beginners to professionals, this can lead to confusion. Simply put, an absolute beginner to programming (and this book seems to emphasize that audience more than the other two books), will have a tough time understanding Java GUI methods even before they've been presented with the basics of all programming languages. The Deitels would have been better off ignoring that aspect of the language until at least after Chapter 7. Unfortunately, since a first course in programming would normally consist of just those first seven chapters, that would give students no exposure to the Java "flavor." Of course, I'm torn over whether or not that would be a good thing. Since the whole world is GUI now, I can see a reason for teaching it up front. But, since those first seven chapters cover the programming structures inherent in almost all high-level languages and are definitely for people who've never programmed before, focusing on good software engineering and structured coding techniques is probably much more important.
Anyway, in a nutshell, I think the accelerated GUI material violates the real intended audience of the book: beginners. So, overall, I rate this at 3 stars out of 5 and give the usual Deitel caveat that the book is more oriented towards beginners than professionals (though the book is extremely thorough by the end).