Kotlin Beyond Android


Kotlin is a fairly new and increasingly popular programming language from JetBrains (best known as the makers of the IntelliJ IDE). Kotlin’s focus on safety, interoperability, and ruthless practicality distinguish it from the other popular JVM-targeted languages of recent years. As a drop-in replacement for Java, Kotlin excels at nudging developers towards the Pit of Success: relative to Java there is far better null handling and pattern matching, first-class support for value classes and extension functions, and a design that discourages casual inheritance.

Though Kotlin has serious applications on the client side — it is now one of the officially supported Android languages after all, and it can also be compiled down to JavaScript — this session will introduce you to Kotlin from the perspective that we’ve approached it thus far at PatientPing: as a safer, more productive server-side programming language. We will cover basic constructs such as module definition, mutable/immutable variables, control flow, and nullability, with a particular emphasis on how each feature set improves on the Java equivalent. We’ll talk about interoperability concerns, answering the question of how practical it is to gradually introduce Kotlin into an already-established code base. Before breaking for Q&A we will also touch on the new coroutine features in Kotlin 1.1, Gradle’s Kotlin scripting, and Spring’s imminent Kotlin support.


Ryan Scharer – PatientPing