Devoxx officially kicks off with Spring, Java EE 8, lambdas and value types
As Devoxx 2014 officially kicks off, Geertjan Wielenga is there to tell us exactly what's hot at this year's conference. As one might expect, the Java EE versus Spring debate never goes away, but this year is about so many more things, from Scala to Docker, than that.
The conference officially began on the third day of Devoxx 2014, though for many it must have felt like the halfway mark since they'd already spent two days at Devoxx with extremely high quality and relevant sessions throughout on all the hot topics in the Java ecosystem and beyond, from lambdas to Docker, and from The Internet of Things to microservices. Stephan Janssen, as always highly energized with passion oozing from every pore, welcomed conference attendees, together with a range of announcements on yet more innovations in the massively successful Devoxx concept, including Ignite sessions, Hackergarten, Playground and DevoxxHunt.
Not only that, but Stephan also announced that the Devoxx family, that is, the conference franchise that has been established around the Devoxx format, has been extended even further, to Krakow, via well known Java conference organizers from Poland, where Java is very popular, with a well established community that has built up experiences over many years in setting up and expanding the conference format to its limits. The Devoxx4Kids program was also presented again, with young people in even more new parts of the world being introduced to Java through a range of activities, via everything from Scratch, Greenfoot, and Alice, to IoT via Raspberry Pis, Arduino, and robots.
In light of the surge in popularity in the JavaScript platform, the question was posed where Java EE will fit in over the coming years.
Given an opportunity to slightly recover from the onslaught of announcements around the massive explosion around the world of Devoxx, Red Hat (Mike Piech and Markus Eisele) and Oracle (Richard Bair, Jasper Potts, and Brian Goetz) rounded off the morning keynotes, with the list of usual suspects in terms of topics, from a run through the technology stack for Java developers provided by Red Hat, to hints of new and upcoming features in the Java landscape by the Oracle engineers, focusing on a recap of lambdas and streams to new features in JavaFX and a look to the future relating to value types, which Brian Goetz announced to look at more closely in a related session later in the day.
Seven parallel tracks running concurrently
The conference having been well and truly kicked off, with many watching the packed out session from overflow rooms, the conference sessions began. In seven parallel tracks, running concurrently, attendees were exposed to a massive amount of new information by thought leaders from around the world. Topics included, but were certainly not limited to: Docker, Android, Scala, Polymer, Mesos, Play, Akka, Raspberry Pi, Project Jigsaw, Apache Spark, microservices, Spotify, 3D printing, and Node.js. Esoteric topics were sprinkled throughout the day, such as Geert Bevin's Death of a Mouse, which focused on Leap Motion and Myo as two gesture control technologies and example of how the traditional mouse as the principal method for interacting with a computer.
Brian Goetz's session Java Futures Sneak Peek was especially well attended. From the start, the highly speculative nature of the session was highlighted repeatedly, and no promises were made, either in terms of timeline or features. Having reiterated that point several times, Goetz suggested several new features that could be introduced into Java over the coming releases. Value types, in particular, were a key focus of his session, as well as of the Twitter stream and hallway discussions that followed after it. Value types are small immutable, identityless value types, which can also be considered as identityless aggregates, user-defined primitives, immutable records, or restricted classes. The key underpinning point in this context is that Java contains two different type systems: primitives, such as int and double, and upper-case Objects. The two type systems are utterly incompatible, a fact that has been lamented over for many a year publicly in many a book and many a conference and by many a programmer privately in many a cubicle. Again without making any promises, Goetz discussed possibilities to fix or to extend the JVM enabling value types to be supported, while marrying the two different type systems and bridging the divide between them.
Aside from the full conference sessions, the quickie track, 15 minutes each, was as eclectic as one might expect, from Mongodb to battery optimization for Android, and from bug-free JavaScript to the Adopt a JSR program. At the same time, the ignite sessions, one of the many innovations announced at the Devoxx keynote, kicked off, each speaker presenting 20 slides that switched automatically every 15 seconds, while the speaker frantically, or slightly more calmly for the well prepared, drove a very narrow key point home, from why there are not more women speakers to why you're doing performance tuning wrong.
Evening sessions
Until late in the evening, 22.00 to be exact, excluding the justifiably lauded Belgian beer sessions in Antwerp's justifiably world famous bars, attendees were kept busy. A new feature of Devoxx is the closing keynote, a solution to the many sponsors underpinning Devoxx and the need to provide a platform where sponsors can share their thoughts on trends and technologies. Normally, sponsor keynotes are notoriously despised for being marketing driven and an apt location for playing 'buzz word bingo'. However, Ron Van Kemenade, the CIO of ING (yes, a big bank) inspired his audience with the many ways in which the software division of ING has been embracing the new world, including 'agile', 'continuous builds', 'angularjs', 'cassandra', 'akka', and 'scala', none of which one would expect to be words spoken by a representative from ING which, again, is simply a big bank. Van Kemenade was also lauded on Twitter and elsewhere for his warm delivery and the authenticity with which he delivered it, as well as the way he has been revitalizing the IT industry within ING, from surrounding himself with technology nerds rather than suit-and-tied executives, to introducing really small developer teams, that is, small enough to not need more than two pizzas when working late into the evening. A key phrase that the CIO of ING left hanging in the air was: "The bank of the future will be nothing more than a mobile app."
The BOF sessions in the evening had Women in IT as one of its key topics. Questions around women in IT, their place, the extent to which they are integrated, and concrete projects to ameliorate the situation were discussed to enable more women to be speakers, including a speaker mentoring program that would get women trained to be speakers by experienced speakers or to test yourself with co-trainees in on-line hangouts.
Elsewhere, three BOF sessions followed hard on each other's heels overlapping and enriching each other around the common theme of enterprise Java. The energetic WildFly community BOF was followed by a BOF entitled The future of Java in the Enterprise. Speakers were the spec leads of various JSRs in the Java EE platform, including Antonio Goncalves, Ed Burns, and David Blevins. A surprise speaker was Juergen Hoeller, co-founder of the Spring framework, which has been at loggerheads with the Java EE platform for many years; hence, seeing Juergen on the same platform as Java EE spec leads caused a high level of buzz.
It's the community, stupid
In light of the surge in popularity in the JavaScript platform, in particular, AngularJS, the question was posed where Java EE will fit in, over the coming years. Manfred Riem, one of the Java EE spec leads, pointed out that "AngularJS got traction because it had traction", in other words, that once there is excitement around a technology, it becomes even more popular, which again breeds excitement, and so on. It remains unclear where AngularJS and similar frameworks will be four years from now, making it a 'good thing' to have platforms such as Java EE being something that is continually worked on. Different strokes for different folks, some will find the JavaScript ecosystem matching their needs, others will benefit from Java EE, while still others will be interested in combining the possibilities that the two platforms provide. All this should be possible and the speakers looked to the future positively. Attendees appeared to be interested, in particular, in a further modulerization of Java EE, so that individual pieces would be able to be picked and included in an application, while related pieces that might not fit into an architecture would be able to be excluded.
It was also clear that the MVC specification, planned for Java EE 8, is also its most contentious piece. Especially interesting in light of Spring MVC's Juergen Hoeller on the stage, discussion turned on the similarities and differences between Spring MVC and the MVC being proposed by the Java EE platform. To the question "why MVC in Java EE", the answer was simply "because you asked us to". A survey had been done over several months amongst Java EE community members and clearly an action-based framework, to complement the component-based framework provided by JSF, is something that many Java EE users would like to get their hands on. As Juergen Hoeller pointed out, though, at this stage the Java EE MVC framework is at an extremely early stage and discussions on the related mailing list indicate that even the most basic concepts are still being hammered out.
In the Spring BOF that followed the "future of Java in the enterprise" session, Juergen Hoeller had an interesting response to a question about Pivotal and "why it cares about Java at all". Acknowledging the question as being on the mark, Juergen Hoeller made an interesting statement about the relevance of the Java community by positing that even if a technology organization is not technically bound to Java, they need to have a story for it and they need to be able to connect to its community. And, with the focus of the relevance of Java being shifted to its community once again, the day come to an end, at last.