Image from Amazon Title: Murach's Java Programming 5th edition
Author(s): Joel Murach
Category: Beginning Java
Amazon wrote:This is the 5th edition of Murach's classic Java book that's trained thousands of developers in the last 15 years. Now fully updated to Java 9, this book helps any programmer learn Java faster and better than ever before:
It's the one Java book that presents object-oriented features like inheritance, interfaces, and polymorphism in a way that's both understandable and useful in the real world.
It offers new coverage of JavaFX, the date/time API, lambdas, and working with SQLite databases.
It uses a self-paced approach that works whether you're a beginner or have years of programming experience.
It's full of practical coding examples that enhance training and that provide starting code for new applications.
It lets you practice what you've just learned at the end of every chapter, to solidify your skills.
And it's all done in the distinctive Murach style that has been training professional programmers for more than 43 years.
“Murach's Java Programming” follows the standard style of Murach books. The left side of each paired page is text and the right side is code/tables/bullets. This is great for learning a new language because it lets you easily reference the highlights while also having a text description available. As always, the end of chapter exercises are excellent.
The printed book covers NetBeans as the IDE. However, they provide equivalent text for download if you want to use Eclipse. Not as convenient as when they had NetBeans and Eclipse versions of the book. But the Eclipse materials are of book quality and do use the paired page format. Both NetBeans and Eclipse have good screenshots and descriptions of how to accomplish common tasks. However, the Eclipse version doesn't look update for Java 9. In particular, the book talks about launching JShell from NetBeans but the online Eclipse pages don't.
This is a great book for learning Java. It goes over concepts, idioms and things you need to know when program. The intro to modules is clear as is the intro to lambdas/streams. I would have liked chapter 22 to be longer as it is such a core concept. But I understand why they chose a simplified intro to the topic. (I recommend reading “Java 8 for the Really Impatient” after this book.)
I really like the intro including types of applications and keywords. Good programming idioms are covered so readers can see patterns. I particularly like how the code listings highlighted the relevant parts. I also like the UML class diagram introduction. I like that the book covers when various APIs were introduced and doesn't harp on the “old way.” For example, pre-Java 8 dates got a total of two pages of coverage. I'm also happy the book covers SQL and PreparedStatements well.
Murach's previous Java intro book was one of three I recommended to people interested in learning Java. Their Java 8/9 book is just as good.
I give this book 9 out of 10 horseshoes.
Disclosure: I received a review copy of this book from the publisher for reviewing it on behalf of CodeRanch.