I was lucky to get a chance to visit Devoxx in Antwerp the sixth time in a row. As always there were interesting talks to listen to. Some issues that were visible across different talks:
Java 9 is now out and Java 8 will soon go into the first steps of deprecation. The step of moving to Java 9 is probably the hardest in the history of Java. There were features in the past that brought very significant changes, but they were usually kind of optional, so adoption could be avoided or delayed. Java 9 brings the module system and a new level of abstraction in that classes of modules can be made public to other modules selectively or globally. Otherwise they can be by themselves declared as public, but only be visible within the module. This actually applies to classes of the standard library, that were always declared as being private, but that could not be efficiently hidden away from external usage. Now they suddenly do not work any more and a lot of software has some difficulty and needs to be adjusted to avoid these internal classes. Beyond that a lot of talks were about Java 9, for example also covering somewhat convenient methods for writing constant collections in code. Future releases will follow a path that is somewhat similar to that of Perl 5. Releases will be created roughly every half year and will include whatever is ready for inclusion at that time. Some releases will be supported for a longer time than others.
In the arena of non-Java JVM-languages the big winner seems to be Kotlin, while Groovy, Clojure, JRuby and Ceylon where not visible at the conference. Scala has retained its position as an important JVM language besides Java at this conference. The rise of Kotlin may be explained by the fact that Idea (IntelliJ) has become much more important as IDE than Eclipse and Netbeans, which already brings Kotlin onto every JVM-language-developer’s desktop. And Google has moved from Eclipse to Idea as recommended and supported IDE for Android-development and is now officially supporting Kotlin besides Java as language for Android-development. There were heroic efforts to do development in Scala, Clojure, Groovy for Android without support from Google, which is quite possible, but having to deploy the libraries with each app instead of having them already on the phone is a big disadvantage. The second largest mobile OS has added support for Swift as an alternative to Objective C and Swift and Kotlin are different languages, but they are sufficiently similar in terms of concepts and possibilities to ease development of Apps targeting the two most important mobile system platforms in mixed teams at least a bit. And Kotlin gives developers many of the cool and interesting features of Scala, while remaining a bit easier to learn and to understand, because some of the most difficult parts of Scala are left out. Anyway, Scala is not yet heavily challenged by Kotlin and remains important and I think that Clojure and JRuby and Groovy retain their importance and live in somewhat differenct niches than Scala and Kotlin. I would think that they are just a bit too small to be present on each Devoxx. Or it was just random effects about how much news there was about the languages and what kind of speeches had been proposed for them. On the other hand, I would assume that Ceylon has become a dead end, because it came out at the same time as Kotlin and tries to cover the same niche. It is hard to stay important in the same niche with a strong winner.
Then there was of course security security security… Even more important than in the past.
And a lot more…
I listened to the following talks:
Wednesday, 2017-11-08
- Welcome [Stephan Janssen]
- Keynote: Moving Java Forward Faster [Mark Reinhold]
- [Derek Mathieson]
- Move Slow and Mend Things [Kevlin Henney]
- Kotlin for Java Programmers [Venkat Subramaniam]
- 7 essential softskill survival secrets for developers [Nick Vanderhoven]
- QWERTY or DVORAK? Debunking the Keyboard Layout Myths [Hanno Embregts]
- Modular Development with JDK 9 [Alex Buckley]
- Plain Functional Programming [Martin Odersky]
- Kafka as a Message Queue: can you do it, and should you do it? [Adam Warski]
- 10 tips to become an awesome Technical Lead [Bart Blommaerts]
- Celebrating the Release of JUnit 5 [Marc Philipp, Sam Brannen]
Thursday, 2017-11-09
- Lazy Java [Mario Fusco]
- The Path of Secure Software [Katy Anton]
- The Diabolical Developer’s Guide to Perfomance Tuning [ Martijn Verburg]
- 5 minute ignite talks from 13:05 to 14:00 [several speakers]
- []
- How Events Are Reshaping Modern Systems [Jonas Bonér]
Java on the GPU. Where are we now? [Dmitry Aleksandrov]- Common API security pitfalls [Philippe De Ryck]
- Keynote: The Rise of the Weaponized AI Propaganda Machine [Berit Anderson]
Friday, 2017-11-10
- Collections Refueled [Stuart Marks]
- Zero to App – Live coding an Android app on Firebase in Kotlin [Jen Tong]
- An Introduction to JVM Performance [Rafael Winterhalter]
Links:
- Devoxx Antwerp (official)
- Devoxx (official)
- YouTube
- YouTube Devoxx Antwerp 2017
- Wikipedia (de)
- Wikipedia (en)
- Flickr
Previous years:
Btw. I always came to Devoxx by bicycle, at least part of the way…