Recently, Google awarded Kotlin the rank of official language for the Android platform. For JetBrains as a whole, and the Kotlin team in particular, is a great achievement that goes to cover all of the efforts put in since at least (to my knowledge) 2013.
Kotlin, however, is a great achievement for the entire software industry at least the part of it that revolves around any Java platforms. Kotlin is not simply the latest language of a highly prolific time. There are a few facts about Kotlin that deserve attention and probably are even little known, though public.
- Kotlin is a JVM language. In spite of its unique syntax, it compiles JVM-compatible bytecode. This means that existing Java projects can be extended with Kotlin-based components and libraries and fully interoperate at the JVM level. It is the same successful pattern of .NET languages. On the same project, you can have a team writing code in, say, C# and another team writing code in, say, F# or Visual Basic .NET. Yet, the entire solution compiles successfully and F# code can invoke C# code and vice versa. Kotlin, Java, Scala for example, are fully interoperable in a given solution.
- JetBrains set a team to work at a new language—Kotlin—primarily for internal purposes. Most of the JetBrains products are written in Java and cross-platforms and that generated a monumental heap of lines of code to test, debug, maintain, extend, evolve etc. In addition, Java is not known to be a concise language—quite the reverse I’d say—and that created the conditions for investing resources in a new compatible language to cut off a share of that heap.
- JetBrains does use Kotlin internally and that is significant evidence of its need and value. Enough, I’d say, for anybody doing Java to seriously consider.
Kotlin attempts to take the best of languages today. It attempts at being a developer-friendly language, concise, direct, with a strong functional flavor grabbing the best from C#, Scala, and others while remaining a Java inspired kind of thing.
But there’s even more to it.
Starting with Kotlin is easy. Just get IntelliJ Community Edition and have fun. Needless to say, the final word is on you but if you do Java then Kotlin is a must-see.