In accordance with Stack Overflow Developer Survey 2018, Kotlin is the 2nd most loved programming language and the 4th most wanted in the world.
Recently, TechBeacon digital platform included it in the list of 5 emerging languages with a bright future. In 2017, at Google I/O annual conference, Kotlin was announced as an official language for Android development.
Uber, Trello, Basecamp 3, Shadowsocks, Evernote, Pinterest, and Coursera have already used Kotlin in their Android applications. Why is Kotlin becoming so popular? What great functions does it include?
Perhaps, you should think about learning this technology and/or moving your projects to it? Let's get deeper in the question, Kotlin advantages, features, and versions.
The main advantages of Kotlin
1. Kotlin allows writing less code
Less code is important but there is readability that also should be considered and desirably improved. With Kotlin, you receive them both. JetBrains did their best to make the language as concise as possible, and they managed to do it.
Less code, when done right, results in fewer bugs. When you let framework take care of certain mundane aspects of coding, you can focus on more important things. Kotlin is all about high readability, simplicity, and the facilitation of the app development process.
2. It solves developer challenges
Kotlin came from the industry, not academia. JetBrains needed a simpler tool than Java to work with their main product, called IntelliJ IDEA, totally written in it.
They investigated the alternatives, stayed unsatisfied, and decided to invent their own language. The goal was to get an effective tool that could be used together with Java and work everywhere where Java can.
So, Kotlin solves challenges faced by programmers. For instance, the type system helps you avoid null pointer exceptions. Research academic languages tend to not have null at all, but this is of no use to software engineers working with large codebases and APIs which do.
3. Adopting Kotlin is easy
If you want to facilitate the product maintenance or streamline custom Android app development, you can assign two or three engineers to move the project to Kotlin starting from a small part of the code base.
4. Kotlin is fully compatible with Java
Another advantage is that Kotlin programming language is fully compatible with Java. Kotlin developers have access to all Java frameworks and libraries while writing more clear and concise code.
So, Android engineers can use both languages when building a mobile product as well as migrate their applications from Java to Kotlin.
Even if you have a large Java-based project with millions of code lines, you can easily convert it to Kotlin one file at a time and you’ll see everything still successfully compiling. Here in BLAKIT, we write our code in Kotlin and use Java only for maintaining old projects.
5. It imposes no runtime overhead
The standard library is small and tight: it consists mostly of focused extensions to the Java standard library. Heavy use of compile-time inlining means functional constructs like pipelines of map/filter/reduce compile similarly to an imperative version of the same code.
6. Kotlin has a strong community
JetBrains are constantly improving the language. It's committed to the project, has a large and highly competent team working on it, has a stable business model and is even converting parts of their own flagship product to use it.
7. Kotlin suits for the multi-platform development
What's more, the founders added Gradle support so that you can write Gradle files in Kotlin. They are actively developing Kotlin/Native, which allows building iOS applications. This way, you can write even native apps in this language, too.
8. Kotlin development offers more safety
The Kotlin developers integrated into the semantics the principles that prevent a variety of common mistakes usually happening during the program execution. Another reason for Kotlin higher level safety (comparing to Java) lies in its benefits.
It enables the implementation of the same tasks with less time and effort. When the code is more simple and easy-to-understand, errors are more difficult to make and much easier to find, so the chances for them significantly decrease.
Also, check out the review of Kotlin useful features and the latest versions.