craigaspinall.com

29 Jul 2011 - Can Kotlin K.O. contenders?

If you follow my Twitter feed then you may have seen my initial reaction to Jetbrains announcement that they were working on another JVM language was one of disdain. Not because I don’t think Jetbrains can create a compelling language, but because I was concerned that the JVM language space is becoming saturated, and too much choice can be just as harmful as no choice at all!

Having had a bit more time to look into it, I don’t think my initial reaction was warranted, and I shouldn’t have been so dismissive of Kotlin. When you look closely at the successful JVM languages, all of them with the exception of Scala are dynamically typed. If you want a statically typed alternative to Java that has a reasonable chance of still being around in a few years, you really only have the choice of Scala, Groovy++ or Gosu. There is clearly room for more choice in this space and Kotlin (and Red Hat’s Ceylon) are trying to fill it. Hopefully the competition will be healthy and we’ll end up with more than one good language to choose from.

So far Scala has been the main contender to challenge for the position of a better Java, yet it seems to divide opinion very easily. Jetbrains have labelled it too complex in their justification for creating Kotlin, a topic which Martin Odersky has addressed before. I think the real problem is just that Scala is a different language to Java and therefore (as with all new languages) you have to put some effort into learning it and practicing with it before you can use it proficiently. Whether Kotlin is enough like Java to avoid the mental leap remains to be seen, but I wish JetBrains (and all the language creators) the best of luck in their battle royale for the title of The Better Java. Without them, the Java ecosystem would be a very dull place!

Older Posts

This work is licensed under a Creative Commons Attribution 3.0 Unported License.

Copyright ©Craig Aspinall 2011