In this article, I delve in more detail in Javaone 2017.
Does Java the programming language have a future? If you have wondered about this very question in the long term (beyond 10 years) then from this conference the answer is a resounding yes. With the release of JDK 9, the Jigsaw release, Oracle have quietly signaled a change of direction and acceleration of change to keep the “Mother Language of Java Virtual Machine” up to date.
Mark Reinhold, chief architect of the JVM wrote in a blog post about Moving Java Forward and Faster.
“Nowadays, however, Java competes with many platforms which evolve at a more rapid pace.”
One of those programming languages that competes with Java, but not yet for cross-platform portability, is called Swift. It is interesting note that the annual Stack Overflow Developer Survey places Swift in the top five of favourite languages (Stack Overflow Developer Survey Insights 2017: Swift is number 4 whilst Java is at number 17). Swift as modern language offers type inference #1. Traditionally programming with Java meant coding explicitly, because the compiler lacked a powerful inference engine. More recently, Java version 7 and 8 have had enhanced abilities such as the diamond operator for generic types #2.
Map<String, List<String>> tradeDetails = new HashMap<String, List<String>>();, in JDK 7 we can write the shorthand
Map<String, List<String>> tradeDetails = new HashMap<>();.
in my writing. Finger or press your mouse button off the dialog to dismiss these handy notes!
Here I am trying out the augmented reality helmets with virtual construction site with local-beam controlled geo-location
In order to prevent Java, the programming language from falling further behind, Oracle are pushing the boat out. Mark Reinhold’s announcement earlier in September and the key note at JavaOne 2017, signals the new strategy of releases every 6 months. The long-term support will start with Java release 18.3 (March 2018). In other words, the first release of JDK 9 in September 2017 will not be supported by Oracle. I believe that the steward of Java considers the first JDK 9 GA to be a developer-only release #3. Those companies who refused to upgrade to Java 9 are probably in for a nasty commercial surprise in 18-24 months time, as JDK 9 and the point releases sink into the mindset of engineers, recruitment consultants and project managers. Businesses that are stuck with legacy technology because they have not the initiative to build a core platform engineering team and/or ruled by their customers encumbrances will face a tougher time in years to come. I predict the most talented engineers will look pre-JDK 9 advertisements as moving backwards in time. I have no doubts at all that Oracle will deliver local type inference and pattern matching enhancements in the Java language. In fact, Brian Goetz and Mark Reinhold, will have almost certainly considered named parameter arguments as the natural adjunct to completing the pattern matching, especially if they read how Scala approaches de-construction and case classes and copy semantics of said properties.
The other big competitor to Java is the rapid interest in JetBrains’ programming language, Koitlin, although I only witness small enough interest at this JavaOne conference. There were presentations available, and one on Java EE with Koitlin in particular, however in the developer cliche that I am part of, there was a hardly any talk about this new language. I believe this is because many engineers have not used the language, and/or think this is not usable outside JetBrains IDE. Possibly, many professional developers are locked into daily work with Eclipse, Spring Tool Suite or similar derived IDE. This makes it difficult to adapt with legacy code bases in the world. I suspect Koitlin also faces the same uphill challenge as another new language in a corporate workplace. Scala, Clojure or Rust/Go have all had to battle the manager’s glib question: how does X help the business?. Also there are a whole lot of engineers out in the world struggling to even to upgrade from Java 6 or Java 7 to Java 8 in their work place even in 2017. So what chance does a lowly programmer have with Koitlin unless the business is a startup or in a leading edge project?
I did not attend JavaOne 2016, because of personal commitments. So this conference was really interesting for me, because it took place back in Moscone Convention Center estate, albeit in the lesser venue, Moscone West. Half of the Moscone South building was under building reconstruction and redevelopment. My impression of the whole conference was subdued compared to wild expansiveness of JavaOne 2005 with heavy bunch of 20,000.
In 2005, Java was celebrating its tenth birthday, Borland was still just about in business, Marc Fleury the original digital socialite and founder of Red Hat sotware was throwing about his unique Professional Open Source brand. There was wide optimism in the air. The parties were wild #4, the goodie bags, and giveaways were fantastic, the technical sessions started at 8:30pm and you could still be there at Moscone until 11:30, when last BOF finished. There were plenty of coffee, soft drinks, and even sweets [candies]. By the way, Sun Microsystems was still around, it would be five years later until Oracle Corporation bought them out. We lived on borrowed time economically, because no one foresaw the misery of the sub-prime credit crunch culminating into disaster a few later. There were no Apple iPhone, touchscreens, capacitive touch or fingerprint sensors. The smartphone was as dumb as a Blackberry 7100M and Motorola RAZR was considered a special thin phone. Android was a blink in Andy Rubin’s eye.
There are so many great experiences at past JavaOne conferences, there are some that I recorded with a camcorder from back in the day:
Community keynote with Stephen Chin and Richard Bair, who are both strong believers in the opportunity of Internet of Things
Turn the forward the hands of time to 2017, JavaOne is now separate part of Oracle Open World, but in my opinion, the brand Java is no longer pushed as special. Although the Java Logo was seen on pillars, walls and everyone’s slide deck, could you buy a single piece of merchandise at the conference store that just said Java and nothing else? The answer was a resounding and disappointing no. You could buy an Oracle bag, Oracle shirts, Oracle jackets; pens, notebooks, beer openers, coffee cups and water paraphrenalia. Every single physical item was emblazoned with the Oracle logo. Whilst there appears to hardly anything wrong with this vision, the sad fact the Java branding #5 was non-existent.
Oracle provide a microsite for it’s own brand identity.
There is content about Java powering our digital world. Sadly, this branding failed to materialise a conference merchandise in 2017.
Where were the Java branded merchandise at this year’s JavaOne?
I have no idea what the official attendance for this conference was, it clearly was not up to the 2005 variety, and it could never be. For one reason, we are still suffering from the economic credit-crunch since 2008/2009. That is a decade of pain, growth and interest rate have essentially flatlined over this entire period. We all wonder when are we going see the green shots of growth and make it out of here? So it is no surprise and with great sympathy, I feel how Oracle has pulled back the niceties, the perks and tightened the britches for this JavaOne conference. Having moved the venue from the trinity of hotels: Hilton, Parc 55 and Nikko back to Moscone West, we lost the Duke Cafe and Bar from closed off Mason Street. There were less coffee, soft drinks and certainly no conference bean bags for engineers to slouch into. The magic was not quite the same. It is difficult to fathom, the pin-point the exact sentiment. I suppose it is not bad as a BB King blues, “The Thrill is Gone”, we are not there yet. I would call this feeling, concerning.
JavaOne faces competition from other conferences. There is DevNexus and Devoxx USA edition amongst others spread across the United States. I once thought that JavaOne was the crown jewel of conferences from the creators of the Java language, the maintainers of the platform and the steward. It was a chance to see what Americans [including North Americans with Canadians and Mexicons] were feeling about the new announcements, are they excited by the upcoming changes? What are they going to do about it? What do they think? How are they inspired? Will that inspiration drive innovation? This is their conference on their home ground, a bit like a football [soccer] match, in my opinion, whenever I travelled to JavaOne, I felt like that I am part of the Away Team about to kick and play the football match on their football pitch with their fans. If they the Home Team cannot inspire their own home crowd, then what gives? Of course, this analogy breaks down, because we are not in actual sports competition. This is not the Ryder Cup in Golf, with USA verus Europe. This is just friendly Java. My over all conference impression was subdued and becalmed with a quiet determination.
On the other hand, Oracle have delivered JDK 9, finally and late, but fulfilled their promise to update Java. I do believe that the corporation will continue to invest. As an added bonus, at this JavaOne keynote, we have updated statistics. Oracle claim there are 12 million developers who know Java, which is up 3 million from the 2010, which was the last time, Sun/Oracle released an official figure.
This is the end of the community keynote with everyone who took place in the drama
The absolute positives are that JavaOne is still great place to see a lot of technical sessions with hiqh quality. Some of the session were excellent. The standard of speakers is generally high. This is correct and should not degrade especially for new people who attend a conference for the first time. Oracle changed the session time from 60 minutes to 45 minutes, which upset a lot of speakers, but it meant two additional speaking slots could be fitted in during day light. Generally, the conversation in the hallway and off the beaten path are great. With the variety of technical session and BOF there is change to move to different area of technology. For instance, I attended machine-learning and introduction into data science sessions. Attendees come to JavaOne to learn, and the conference still offers that opportunity and fulfills it handsomely.
If you could not attend the JavaOne conference, I strongly recommend watching the keynote session sonline for free.
- JavaOne Opening Keynote (Monday, 2nd October)
- Oracle Code Keynote (Tuesday, 2nrd October)
- JavaOne Community Keynote (Thursday, 5th October)
- Monday Keynote 2nd October 2017
- Intel Keynote Sunday 1st October 2017
I will stop here and postpone the Java EE topic for another article. Thanks for reading