Software Engineer @ Wix

Fear and Loathing in Scala and Kotlin interop

Have you ever thought of switching from our ‘good old java’ to something modern, more convenient, less verbose and elegant? Do you enjoy dealing with irritating things such as getters & setters, stupid type casting, poor switch, lambdas, checked exceptions, NPE…? Some of the java developers can’t stand it so much, that’s how many other JVM-based languages appeared. One of the most popular and interesting languages is Scala. On the one hand, it was a breath of fresh air for some java devs, on the other hand, it was too complicated for other developers… Then Kotlin appeared! The popularity of this language is constantly growing. And finally, some scala addicted companies started investigating it. In this talk, we won’t compare these 2 JVM citizens. We will try to understand, how they can leave together in one codebase, why do we need this kind of relationship, what problems we can have and how to solve them. Sometimes the talk will be funny, sometimes painful, sometimes nostalgic… Everything like in real life. We had 1 week, 2 scala devs, 1 scala artifact, a bunch of kotlin libraries, 1 kotlin book, a couple of microservices, 2 build systems and an IntelliJ idea… Not that we needed all that for the task, but once you get locked into a serious drug collection, the tendency is to push it as far as you can…