X-Mas Musings #22 – Kotlin

December is for many people a period of reflection or thought. So I decided to reflect upon last year’s things and thoughts — each day until Christmas. This is day 22.



I’ve seen a lot of Kotlin this year. Kotlin, which is a “statically typed programming language for modern multiplatform applications”, was created by JetBrains around 2011.

Some motivations were outlined in Why JetBrains need Kotlin and you can find a nice feature comparision to Java in Kotlin’s own documentation.

The funny thing is: every presentation about Kotlin I’ve seen talks about the syntax conciseness versus plain Java, the Elvis operator, the range expressions, the operator overloading, extension functions, default visibility, etc etc).

So as a Groovy developer, I’m thinking: So what? We can already do that for years on the JVM. With Groovy 🙂  Android support: check. Java interop: check.

But yeah, I don’t blame ’em for being enthusiastic — comparing all these great features to and fixing some of the issues of Java. I remember the same feelings I had all those years back when starting with Groovy.

In all honesty, Kotlin definately has features I’m as a Groovy developer enthousiastic about too, such as their aim to eliminate NullPointerException‘s from the code (see Null Safety). Just for this, may be it should be the programming language of the year.

And the more languages on the JVM, the merrier, right? 🙂

I wish Kotlin all the best in 2018!