Java Annotated Monthly – August 2016
This month’s Java Annotated Monthly is so much more than Java. Not only do we take a look at what’s happening in the community and what’s the latest on upcoming versions, we have a chance to touch on news for Scala, Clojure, JRuby, Groovy and, of course, Kotlin. And in a slight departure from our usual technical content, we take a look at some news relevant to strengthening team skills with a focus on code reviews.
Community & Ecosystem
As mentioned briefly in last month’s Annotated Monthly, Oracle has countered claims of lack of interest in Java EE by announcing they’re rebooting it for the cloud. One of the alternative plans to move Java EE forward is discussed in more detail on the vJUG July podcast.
Touching on both the Java EE uncertainty and the Oracle/Google lawsuit, is this high-level view of state of the Java ecosystem. The conclusion, of course, is Java is (still) Not Dead. Which is fine, since we ignore Java is Dead articles anyway, but there are concerns around whether Java it can attract new developers.
One great route for beginner into Java is via Android, and Google has just launched a new programming course for beginners.
One of the features in Java 9 that has the potential to have a big impact on the way Java developers work is the Java REPL. But often overlooked is that the Streams API is getting some updates too, including a (much needed) way to end infinite streams. Remember you can download the latest build of Java SE 9 (we’re currently on build 129).
As always, there’s some great stuff for understanding Java 8, like this presentation on understanding Stream performance, and some guidance on using Timezones. We published some Java 8 Top Tips with a focus on IntelliJ features (not surprisingly), and posted a complimentary article for Upsource focusing on code reviewing Java 8 code.
It may feel like Groovy is less trendy than it once was, barely scraping into the top 20, but it still does some things really well. Spock is still a very compelling choice for testing, for reasons I’ve written about in the past.
Having mentioned code reviews earlier, now seems like a good time to share my backlog of articles on code review, code quality and related not-always-technical content. Performing a code review is about so much more than formatting or naming, or even catching bugs. To be a good reviewer, not only should we be able to identify code smells and stay up to date on coding guidelines, we should strive towards proficiency, which includes understanding the bigger picture, knowing how to give and receive feedback, trying different approaches to communicating taking into account the human cost of tech debt and knowing how to pick your battles.
Spring Boot 1.4 is now out. You’ll remember from last month’s Developer Productivity Report Spring Boot’s astonishing adoption rates. If you haven’t played with Spring Boot yet, now is a great time to try it out.