
Since the advent of version 1.0, only a few years have passed, and many large companies and developers have adopted the language. This is due to the fact that the creators of the language managed to achieve the goals set at the beginning of the path - to develop a tool that would be more convenient and safer than Java, but less complicated than Scala.
We recently added a Kotlin course to the program of GeekUniversity's
Android- Faculty. Today we offer to discuss its capabilities and why this language can be considered one of the pillars of the future development of Android applications. By the way, on March 14, we held a webinar on “
Prospects and potential of Kotlin in Android development ”, so if you are interested in the topic, read it. In the meantime - let's deal with the opportunities and prospects of Kotlin.
So, the language itself is a convenient tool for both novice programmers and developers with experience. It is very concise, compact and understandable (for the most part - even intuitively). Over time, the language is improved.
')
The latest version is 1.3, with support for corutin, which made it possible to read and write non-blocking asynchronous code without any problems. Scalability has also become available, and the Kotlin / Native beta version has appeared, which makes it possible to compile the Kotlin code directly into machine code. This allows, for example, to write business logic cross-platform.
Kotlin is relevant today more than ever, firstly, thanks to all that was said above. Secondly, due to the fact that Google took Kotlin “into the family” back in 2017, recognizing it as the official language for the development of Android applications. After Kotlin was recognized by Google Inc., many applications that were originally written in Java were copied to Kotlin, not to mention the tons of applications that were originally written on it.
Why do so many developers think that Kotlin is the future of Android development?
Conciseness
This is one of the factors that encourages developers to switch to Kotlin as quickly as possible. The same Java, despite its versatility, looks quite verbose compared to this language. Well, the less you need to write, the less likely to make a mistake. It also means increased speed. Of course, the dependence is not always direct, there are other factors, but often the same task on Kotlin is solved faster than in Java.
Open source
Yes, since 2012 the language is open. And that means a wide community of developers who help improve the language. The community is connected with Kotlin employees, the feedback is very reliable. This is largely due to the help from the
Kotlin Slack team . Kotlin representatives listen to the opinion of third-party developers and often implement the suggestions made, if they allow to improve the language.
Kotlin "matured" long ago
In the sense that most of the problems specific to the new programming language have been fixed. Now it is a reliable tool from which you can not expect a dirty trick in the form of strange behavior of the compiler or the application itself, written according to all the rules. In addition, Kotlin has excellent IDE support. No kidding, really great. The IDE plugin works without any problems, adding some useful features specific to Java.
In the latter case, we recommend using IntelliJ, it comes with the Kotlin package. On Habré, by the way, IntelliJ has already been praised, largely because the developers approached its creation very wisely. IntelliJ, for example, "understands" if Java code is inserted into a Kotlin file and offers to broadcast it to Kotlin.
In general, Kotlin is a very reliable programming language with lots of features and capabilities. At the same time, he is constantly improving.

Renewability and Development
There really is no limit to perfection. JetBrains does a very good job of improving and extending the capabilities of Kotlin. In the latest version at the time of this writing (1.3.21), many improvements have been made to the Gradle plugin, including those related to multi-platform projects.
By the way, Kotlin provides features similar to later versions of Java for earlier versions of the Android API. From the wishes - it would be great if the ktor web framework came out of alpha and was overgrown with a large community so that Kotlin would be even closer to the fullstack tool.
Null security
This is a more technical point than all the previous ones, but it is impossible not to mention it. The fact is that the same Java cannot guarantee that a variable of type String contains a string, and not null. Yes, the developers have adapted a long time ago and this is mostly not a problem, but the security that is provided by static typing reduces this. As a result, Java developers have to be prepared and think about Null Pointer Exceptions.
In Kotlin there is no such problem, here the types are divided into non-null (the value of these types cannot be null) and nullable (maybe null).
Writing to Kotlin is easy
Other things being equal, writing to Kotlin is easier than writing to Java or Scala. The libraries required for Android applications in Kotlin are small and do not complicate the life of the developer.
In addition, Kotlin and Android Studio is a wonderful combination that speeds up the development process. The project is built in just a few minutes, although sometimes the system may issue warnings about the need to install the missing component.
At any time, you can search by code, database, commands, user interface elements and other places. In many cases, this is quite useful. For example, when some IDE command is forgotten. Debugging is also performed without any problems.
Kotlin is easy to learn.
This is a logical language, which is a pleasure to learn. In this case, the written code is easy to read, not only by the author of the application, but also by third-party programmers who may not even be familiar with Kotlin.
All this was made possible by the fact that the company JetBrains, the developer of Kotlin, initially conceived the language as an alternative to Java, which is easy to switch to. Kotlin enables programmers to solve problems in different ways, which makes not only learning interesting, but also work.
For a developer, it may also be important that the largest companies in the world are gradually starting to work with Kotlin. Others include Prezi, Basecamp, Amazon Web Services, Pinterest, Coursera, Netflix, Uber, and many other companies. That is, a programmer who knows Kotlin can count on an excellent workplace and interesting tasks in which he will be immersed from day one. And as the number of companies using Kotlin expands over time, the demand for Kotlin specialists is increasing.
In general, Kotlin is a developer-friendly language; it allows you to perform a very wide range of tasks. Taking into account the growth rate of the community, and the fact that Google itself is gradually translating examples in its documentation to Kotlin, there is no doubt about the promise of the language from the point of view of development for Android. He has prospects in other areas of development.
The article was prepared jointly with Stanislav Khizhnyak, a teacher of the Kotlin course, for which many thanks to him!