Tim Cooke

Review: Core Java SE 9 for the Impatient (2nd Ed)

Cover art for Core Java SE 9 book

The Book

AuthorCay Horstmann

Published15th September 2017

PublisherAddison-Wesley Professional

Book Websitehorstmann.com/javaimpatient

Author Websitehorstmann.com/

An Accessible Guide to the Java Language and Libraries

Modern Java introduces major enhancements that impact the core Java technologies and APIs at the heart of the Java platform. Many old Java idioms are no longer needed and new features such as modularization make you far more effective. However, navigating these changes can be challenging.

Core Java SE 9 for the Impatient, Second Edition, is a complete yet concise guide that includes all the latest changes up to Java SE 9. Written by Cay S. Horstmann - author of the classic two-volume Core Java - this indispensable tutorial offers a faster, easier pathway for learning modern Java. Given Java SE 9's size and the scope of its enhancements, there's plenty to cover, but it's presented in small chunks organized for quick access and easy understanding.

Horstmann's practical insights and sample code help you quickly take advantage of all that's new, from Java SE 9's long-awaited "Project Jigsaw" module system to the improvements first introduced in Java SE 8, including lambda expressions and streams.

Whether you're just getting started with modern Java or you're an experienced developer, this guide will help you write tomorrow's most robust, efficient, and secure Java code.

The Review

Date26th February 2018


Core Java SE 9 for the Impatient by Cay Horstmann is a succinct yet comprehensive guide to the Java SE 9 language. Explanations are clearly laid out with unambiguous language and diagrams. While this book is presented as a Java SE 9 title, the content covers the Java language in general and for the most part does not discuss SE 9 specific features in isolation rather simply including them in the whole. This makes for a consistent delivery that focusses on making good use of the language rather than on what's new and what's not.

For readers who would not be that experienced with Java, but have some familiarity with programming, each chapter presents a thorough and easy to follow exploration of the language features, and I especially like that Cay tackles the basics of how to operate the 'java' and 'javac' commands on the command line without muddying the waters with IDE "magic". That said, there is plenty of meat here too for the seasoned developer, such as myself, and a lot can be learned from Cay's opinions alone. All the code examples used are available as a download and each chapter is concluded with a set of exercises for the reader to put the theory into practice, although it would have been nice to see solutions to those exercises.

A broad range of topics are covered throughout this book and I get the sense that they are carefully curated to cover what I would consider everything you need for solid general purpose programming. Edge case, quirky, and specialist topics are largely omitted but when mentioned, as with the Reflection library, are introduced with a note of well deserved caution. This recurring theme of Cay sharing his experience based opinion about the features and usage of the Java language is what I believe sets this title apart from other similar titles.

Disclosure: I received a copy of this book from the publisher in exchange for writing this review on behalf of CodeRanch.