Views and announcements

Instil's Garth Gilmour on KotlinConf 2018

  • By Garth Gilmour – Head of Learning at Instil


    The second ever conference based around the Kotlin language was held in Amsterdam from 3-5th October. The format was a single day of workshops followed by two days of talks, exhibitions and social events.

    For those not familiar with Kotlin, it is one of the new-generation programming languages incrementally taking over from Java. Its creation and continued evolution is driven by JetBrains - the software tools company best known for the IntelliJ IDE, TeamCity CI tool and ReSharper C# Visual Studio plugin.

    Kotlin, Scala and Clojure all have vibrant and (to use a polite term) opinionated communities. However, Kotlin has picked up a competitive advantage by being adopted by both Google (as a first-class language for Android) and Pivotal (as an ideal language for its Spring platform). This success has pushed it beyond the Java platform, with a JavaScript compiler growing in popularity and a native version about to be released.

    Instil was a sponsor of the conference, an exhibitor in the main hall, and the organizer of one of the conference workshops (on ‘Full Stack Kotlin’). We had seven staff attending, so were able to attend most of the talks and social events.

    News from the Keynote

    Happily,all the talks from the first day are already available online. Essential viewing is thekeynote by Andrey Breslav, which contained major announcements on the future of the language. In particular:

    • Kotlin 1.3 will soon be with us, offering the final version of coroutines, inline classes, contracts, improved type inference and the beta version of Kotlin Native.
    • Tool support for the different platforms supported by Kotlin is being widened and unified. You will be able to open up a multiplatform project (containing JVM, JS and Native code) in all versions of IntelliJ (including the Community Edition) and Android Studio.
    • Meta-programming will not be part of the Kotlin language except through the Compiler API, which will soon be stabilized and made available for general use.

    Other major themes

    The Kotlin community is maturing and spreading out extremely quickly

    Our impression was that the average level of experience and proficiency in Kotlin was extremely high. Almost everyone attending seemed to be using Kotlin in earnest on real-world applications, most of which were already in production. There was a notable absence of neophyte Kotlin coders and potential adopters; this was very much an event filled with veterans.

    For such a new language this is remarkable. It can in part be explained by the maturity of the underlying JVM platform and the relative ease of transition from Java to Kotlin. But credit is due to the Kotlin compiler team for ensuring seamless interoperability and ease of use.

    The ‘it’s just for Android’ period has passed

    For a few years Kotlin had the reputation as a great language for Android development, but not necessarily for mainstream applications. From the projects being showcased, this meme has been thoroughly refuted.

    The conference included presentations on game development, graphics programming, data science and cloud computing. Kotlin.js was very much in use, despite being the newest incarnation of the language, and there was a lot of interest in the potential of Kotlin Native. The greatest vote of confidence was from the team that produces the Gradle build tool – it has rewritten its build file format to use Kotlin (instead of Groovy) and was proud to announce Release Candidate 1 onstage.

    New frameworks are emerging at a rapid pace

    Unlike other alternatives to Java, the Kotlin community has always been happy to ‘colour within the lines’. Up to this point Kotlin developers have been content to work with existing JEE frameworks like Spring instead of reinventing the wheel and creating their own ecosystem of specialised libraries.

    This now appears to be changing, especially within the world of Web Frameworks. If you want to write a RESTful Service in Kotlin you now have the choice ofKtor,http4k,Jooby andVert.x.  Time will tell if this proliferation of frameworks is a good or bad thing, but it is certainly an indicator of growing confidence in the language.

    The future is functional

    Another thing that was uncertain when Kotlin adoption spiked was whether this signified a hiatus in the Java communities drive to adopt functional programming. From the way that delegates packed out the overflowing Arrow talk it would appear that the future remains functional.

    The Arrow library adds advanced Functional Programming concepts to the Kotlin language and enables it to be used to create purely functional architectures, a job previously thought best suited for Scala, F# or Haskell. This pushes the existing language right to its limits, so it was great to hear that the Arrow developers and Kotlin compiler team are working together on the addition of Typeclasses (a key FP concept) to the language.

    Wrapping Up

    This was a great conference that really showcased how many inroads Kotlin is making into both the Java community and software development in general. It is the first time I’ve ever felt with conviction that Java as a language has had its day and the new languages are inevitably going to push the platform forward.

    About the author

    An article that is attributed to Sync NI Team has either involved multiple authors, written by a contributor or the main body of content is from a press release.

    Got a news-related tip you’d like to see covered on Sync NI? Email the editorial team for our consideration.

Share this story