The Unpuzzling Kotlin: Bringing Clarity to Your Code
Kotlin is a statically-typed JVM-targeted programming language developed by JetBrains. One of its major goals is to provide developers with safer and more concise language than Java while keeping simple enough for industrial use.
So far, so good. But can we somehow assess these qualities?
Famous "Java Puzzlers" series of talks (as well as the book) made it clear that there are quite a few cases when Java programs display counterintuitive or just obscure behavior. While some are JVM-related, most of those cases have roots in Java language design. Now, we tried to translate the puzzlers to Kotlin and compare them with the originals.
In this talk we're going to tell the story of Java puzzlers from the Kotlin perspective which would demonstrate how Kotlin design helps to eliminate some problematic issues found in Java. In particular, we'd consider such aspects as expressions and control structures, exception handling, object and classes, nullable types and extentions.