Author/s : Michael Ernest
Publisher : Sybex
Category : Java Certification Review by : Jeanne Boyarsky
Rating : 9 horseshoes
"Java SE 7 Programming Essentials" stands apart from the other OCAJP certification books because it isn't a certification book. It is an intro to Java book that prepares you for the cert. The distinction is important. Most other cert books I've read assume you have some knowledge already. This book is more of a competitor of "Thinking in Java" and Deitel & Deitel. However if you read the book, do the exercises and answer the questions in each chapter, you will be well prepared for the cert so it is a cert book in that space.
It was cool seeing a mention of JavaRanch in the intro - a note not to private message the author there. Anyway, this is a book review so I should talk about the book.
Each page is in color which makes syntax highlighting a great feature of the book. There were lots of good diagrams such as the flow of control structures and sequence diagrams.
The book also includes best practices and opinions which are good for jumping in. For example, Michael explains doubles aren't good choices for real world objects. Which is a very important point. (I work for a bank.) However, he then implies you should adapt a primitive type for money rather than using BigDecimal. While I agree that is probably out of scope for an intro book, it still jumped out at me.
Overall, I find the book very easy to read and think it is a great book as your first Java book. I really like the remarks about making things easier for your future self through clear coding and documentation.
Disclosure: I received a copy of this book from the publisher in exchange for writing this review. Further, the author asked me about tech proofing this title. While that didn't happen, I feel the need to point out the missing line break in the table on page 47 and the word "sublclassing" on page 122 . Seriously though, many books have a couple typos. If this is the worst I can find, it means the quality is good.
As someone who has been writing in Java for a decade and a half, I find Michael Ernest's Java SE 7 Programming Essentials an excellent introduction and resource for not only Java, but for any aspiring programmer.
But before discussing the content of the book, let me say a few words about the binding of the book itself: it's wonderful. The pages are thicker than average for a softbound book, sport a pleasing eggshell finish, and the entire book is in full color. All technical books should be bound so handsomely. As an author myself, I'm rather jealous.
Those of you ordering the e-book will miss out on this; but not to worry, the content of the book matches its physical polish.
I've often likened computer programming to chess. Anyone can learn the moves, but sitting in front of a chess board and making random moves could hardly be considered "playing chess". Without a strategy to those moves, there's no game. But when it comes to books on programming, whether it be Java or any other computer language, all too often books emphasize the "moves" without touching upon the strategies that elevate computer code from a random mess of statements to an elegant and cohesive program.
In Java SE 7 Programming Essentials, Michael Ernest not only describes the "moves" of Java -- and in a very logical order for someone not familiar with Java or even programming -- but emphasizes thinking from the offset about the strategies that make software successful. That's rather unusual for a book targeted at the more novice audiences, and an approach that is handled well. It'd be easy to confuse the reader, obscuring the point of the concept being presented with such an approach, but the author deftly manages to avoid clouding the point while presenting "strategy" along with the "moves".
This book also avoids another trap I've seen in books that prepare one for a certification. Frequently such books "teach to the test"; preparing the reader to take the certification exam, but only that. In such books, important concepts are glossed over, or even omitted, if they aren't germaine to the test. Java SE 7 Programming Essentials avoids this pitfall. It's a good first book on Java regardless of whether one is interested in the OCAJP certification or not.
If you are interested in learning how to program Java, rather than merely write Java, this is a book I can recommend.