As promised I spent the last two weeks watching as many talks from JavaOne 2016 as possible. But, boy, are there a lot of them! So I decided to focus on those discussing the language itself.
▚Nucleus of JavaOne 2016
Before I give you a selection of interesting talks I actually watched, let me list five of those I didn't but think sound interesting:
- JUnit5: Features, Architecture, and Extensibility
- Cross Functional Code Reviews
- Delivering Unicorns
- Automated Tuning of the JVM with Bayesian Optimization
- The Hitchhiker’s Guide to Open Source
Of the ones I watched I only present some here. Read my post about JavaOne for a deeper cut through the conference program. The conference obviously centers around Java SE and Java EE, so I'll split my report accordingly. With that let's cut the cackle.
▚Java SE
Java SE had its own keynote, which started with some marketing bla. After that Mark Reinhold got on stage to tell the audience about Java 9 in general and jShell and Project Jigsaw in particular. It got even more interesting when Brian Goetz joined him and revealed two very interesting ideas that are on the table:
class Point(int x, int y) { }
, where the compiler generates fields, constructors, accessors, properequals
,hashCode
, andtoString
forx
andy
.var url = new URL("https://sitepoint.com/java");
where the compiler deduces the type fprurl
.
Then there were a surprisingly large number of talks discussing Java 8. Of those, I found Stuart Marks' and Brian Goetz' Thinking in parallel. as well as Maurice Naftalin's Journey’s End: Collection and Reduction in the Stream API very interesting.
And of course, there were plenty of talks about Java 9, even ignoring the ones about Jigsaw. For those with little contact with the upcoming release, I recommend JDK 9 Language, Tooling, and Library Features, which is pretty much a spoken version of my ultimate guide to Java 9 (but it also covered some of the still unpublished second part). A cool thing to watch is Interactive Development and Fast Feedback with Java 9 REPL, which demos jShell, Java's brand new REPL.
▚Java EE
First things first: Java EE 8 is scheduled for September 2017, version 9 just for one year later.
The vision for the Enterprise Edition is presented in the Java EE Keynote. In one word: cloud. If you're interested in the state of the Java EE union and particularly the upcoming version 8, Linda DeMichiel's Java EE 8 Update has you covered.
Here are a couple of talks that present the current state of support for various updated standards:
- JAX RS 2.1 for Java EE 8 by Ed Burns and Pavel Bucek
- Servlet 4.0: Status Update, HTTP/2 Comes to Java by Ed Burns
- Java EE Next - HTTP/2 & REST Opportunities by Pavel Bucek and David Delabassee
- JSF 2.3 The Community Takes Over by Ed Burns and Kito Mann
▚What Else Is Going On?
Peter Hintjes passed away on Tuesday. I don't feel equipped to write something that matches his importance for the software community, so I won't. Instead I recommend to read his protocol for dying. ... After that it's not easy to get the newsletter back on track. ... But I don't want to finish on a gloomy note, so let's push through.
Last week our channel took a little detour into functional programming when we presented the combinator pattern and discussed why Optional
breaks the monad laws and, more importantly, why you should care.
FP is a great topic, especially with lambda expressions at our disposal, and there will be coming more about it soon.
This week we got back to normal with a post about schema migraton with Hibernate and FlywayDB and my summary of JavaOne.
By the way, did you miss the articles about the Servlet API and Dropwizard that I promised? Because I was away last week I let the authors hanging and we couldn't finish editing them in time. But now they're scheduled (like in "reviewed and ready") for next week, so they're really coming this time. No, really!
Finally, nobody seemed to have cared about the technical details behind Java 9's delay. Ok, point taken and post averted (for now). Other than that JavaOne seemed to have frozen the entire eco system and I feel nothing much happened. Or did I miss something?
▚Wrapping Things Up
Let me leave you with a couple of articles I think you might find interesting:
- Java 9, OSGi and the Future of Modularity (Part 1)
- How Functional is Java 8?
- The Churn
- The Rise and Fall of Scala
- Code generating beans - mutable and immutable
I wish you a great time!
so long ... Nicolai