Java language architect Brian Goetz accepts second JAX Innovation Award
After accepting the second JAX Award in a row, Oracle’s Java Language Architect Brian Goetz spoke to us about building a platform, not for what Java developers want, but what they need.
Having already won a Special Jury Award last year, the popularity of the eighth release of the JDK has officially made its way from forward-thinking Java professionals into the mainstream Java community. Over the past weeks, our community voters decided the newest JDK is still the biggest Java technology of 2015. Java language architect spoke to us after the ceremony.
JAXenter: Last year Java 8 won the Special Jury Award – this year it received a JAX Award from the community. How does it feel to have worked on a technology this popular?
Brian Goetz: As you can imagine, it’s very gratifying. A lot of people worked for a long time to make Java 8 a reality — and to demonstrate that it was possible to Java to regain its momentum and innovation. So to see it received so well — and being adopted so quickly — is very satisfying.
Java 8 must seems like ancient history to you – what are you working on now?
Indeed, I worked on Lambda and Streams for four years, and it’s nice to see them move from the “future” column to the “reality” column. For the last year I’ve been working on Project Valhalla, which includes value types and enhanced generics. This will keep me busy for a while.
How do you reconcile the myriad of wants from the Java community, with what Java really needs?
You can’t possibly implement everything everyone would want — and you don’t want to do that either, because it would be a mess. Instead, for each feature request, we try to interpret that as a call for help — and identify the underlying pain point that is motivating the specific solution being requested. Then, we prioritise these, and attempt to identify the features that address the most severe pain points.
You’ve set the benchmark pretty high for Java 9 – do you think it can match the standard of something like Lambdas? Can you tell us one aspect of Java 9 you’re looking forward to?
I think the “sleeper” feature for Java 9 will be the REPL (read-eval-print loop), called jshell. This is a shell application that lets you evaluate Java statements and expressions interactively, just as you can do in Python, Ruby, Scala and many other languages.
This is a very useful tool for developers to explore and experiment interactively. This is one of those “once you have it, you don’t know how you lived without it” features.