Sybex wrote:Learn core programming concepts and technologies on the leading software development language
This full-color book covers fundamental Java programming concepts and skills for those new to software development and programming. Taking a straightforward and direct approach,Java SE 7 Programming Essentials provides a solid foundational knowledge of programming topics. Each chapter begins with a list of topic areas, and author Michael Ernest provides clear and concise discussion of these core areas. The chapters contain review questions and suggested labs, so the reader can measure their understanding of the chapter topics.
* Covers topics such as working with Java data types, using operators and decision constructs, creating and using arrays, and much more
* Includes additional learning tutorials and tools
* Puts the focus on Oracle's new Oracle Certified Associate (OCA): Java SE 7 Programmer (1Z0-803) exam
This must-have resource offers new programmers a solid understanding of the Java SE 7 programming language.
"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.