With the holidays behind us and a new year freshly being rung in, it's time to see what's been going on in the world of Java! This ended up being a very blunt compilation of articles and news (although the headlines were pretty enjoyable). "Java 8: The Bad Parts" still makes me chuckle, and we'll even cover something as fundamental as a name in the news section. But this compilation also dives into some fundamental aspects of programming and considers a higher-level view of what's coming ahead.
It's Java'clock
- Java 8: The Bad Parts, by Grzegorz Piwowarek. With Java 9 here, let's take a look at what its predecessor, Java 8, did well and, more importantly, where it left room for improvement.
- Kotlin vs. Scala (vs. Java), by Arsalan Rashid. Java might be the grandaddy of them all, but there are new kids on the block. Let's see what makes Scala and Kotlin great, frustrating, and how they compare to Java.
- 12 Java YouTube Channels You Should Follow in 2018, by Thorben Janssen. Do you want to stay on top of your Java game in 2018? Here are 12 YouTube channels that you should stay up to date with.
- IoC vs. DI, by Francisco Alvarez. Some people use the terms Inversion of Control and Dependency Injection interchangeably. Let's see how they're different and how they can work together.
- Java Concurrency in Depth (Part 1), by Mahmoud Nagib. Get your feet wet with this initial deep dive into Java concurrency, where we'll cover synchronization, the volatile keyword, and atomic classes.
By the way, if you're interested in writing for your fellow DZoners, feel free to check out our Writers' Zone, where you can also find some current hot topics and our Bounty Board, which has writing prompts coupled with prizes.
Coffee and the News
What's in a Name?
The Java EE Guardians have published an open letter about how Java EE will be named and packaged moving forward now that the standard is moving to the Eclipse Foundation. The letter details concerns the group has with Oracle's desire to, in their own words "restrict the use of the word 'Java' and the use of the 'javax' packages for EE4J due to corporate branding concerns." The Guadians propose a set of solutions as well. Check it out and see if you agree with their points.
What's New for Groovy?
Last month, InfoWorld compiled a list of items on track for Groovy 2.5 and 3.0. The big player detailed in this roadmap? Modularity. Among the enhancements: support for Java 9 modules and Java 8 lambda expressions.
Java 10 and 11
At the tail end of last year, Ben Evans of InfoQ put out a nice compilation of what to expect in the next two releases of Java, since the plan is to move to a 6-month release plan. See what's on track for 2018, including the few confirmed parts so far for Java 11.
Diving Deeper Into Java
- Updated Refcard: Learn Microservices in Java
- Refcard: Java Application Vulnerabilities
- Guide: Java: Development and Evolution