5 Reasons Why Google Supporting the Kotlin Programming Language for Android is the Best News Ever

And why this is a completely new direction for the future

If you are a major Kotlin fan like me, you already know the biggest news of the day. Hell, the biggest news of the year: Android now supports the Kotlin programming language! 🙌🎉

Personally, I’ve been fiddling with it for some time now, constantly preaching to my peers/coworkers about a cool and fun new language for developing Android. And as I watched the Google I/O keynote announcement saying Kotlin is becoming a 100% first class language for Android development, I literally experienced one of the biggest hypes yet, the kind of hype where you’re an inch from having a heart attack!

Basically how I looked like after the announcement.

You, me and Jake Wharton all know what this means for the future, and what it could mean.

If, however, you’re not that familiar with Kotlin (and why not?), I’ll try to sum up why it could push the future in a whole different direction! All aboard the hype train!

0. The Modernity

Having Java integrated in your work life is a good thing, but more than often you look at a problem, stop for a second to think to yourself : “Is this really the best way I can do it in Java?”.

Well, Kotlin has all the features of modern languages you’d want! Kotlin has a safe Nullability system, Lambdas and Method references for clean connections between parts of your App, a built in Mutability/Immutability property system, a clean and easy to use Stream operators(filter, map, reduce..), to improve your development life and productivity! 🚀

1. The Interop

Yeah all the features above sound pretty decent, and one might think, okay, but how will this affect my legacy code, or current state of a newly started project? You don’t have to worry a single bit, Kotlin and Java are 100% interoperable, meaning you can have any percentage of code written in Kotlin, and the rest in Java, and it will all just work together!

Even better, there is a tool in AS that allows you to instantly “translate” Java into Kotlin, which works quite well most of the time, so you can have a glimpse into what does a method in Java look like in Kotlin.

P.S. I don’t really use this feature often, as I like having to figure out myself what could it look like, to learn more ways of doing things than one. But for a beginner, it’s a great guideline.

2. The Community

Java is great, it has a large number of users, the tutorial sea is vast, and you can pretty much find an answer to any problem on SO right? But the language itself is very closed, it’s development is hardly influenced by the needs of Java developers. Kotlin is quite the opposite! Jetbrains team takes every idea and proposal from the community and keeps them in mind while developing the language.

The language is also Open sourced on Github, so you can check it out anytime! ❤

There is also the awesome Kotlin slack team, with a bunch of developers eager to help whenever you have an issue. You might even have Jake Wharton himself answer your favourite Rx questions! :D

3. The Support

In the first point I’ve listed some Kotlin tools that will make your development life much prettier. But I wanted to make this a standalone reason for you to think about taking up Kotlin.

All Kotlin standard library features are available no matter what Android API level is declared to be the minimum for your application. This means that the Streams API can be used, not having to set the minimum SDK version to 24, so waiting for game-breaking features is no longer a necessity!

4. The Native

This might not be an Android specific reason, but it’s definitely worth the mention. Kotlin Native is a milestone Jetbrains is working on reaching, with the idea of running Kotlin code in mutliple platforms, without having to compile it down to JVM, making it much faster, and not requiring Java. The platforms to be are Web (both backend and frontend), iOS (yes!) and Game development.

Which in turn means, you could learn a single language, and share it among various platforms!🎈🎉

Sounds good to me!

UPDATE: Week later and Im still going crazy about this, so I’ve started a series of articles about the best Kotlin features. Read the first part here: