Kotlin implementation | Part 1

Programming

Developer Insight

Nov. 6, 2017, 2:35 p.m.

Any major changes in established business and development processes cause a sense of concern for a process integrity and possible profits lost due to downtime which appeared for a process update. The same situation was in our team when we had decided to start using Kotlin as one of the main Android development languages. Thus, In this article you can read developer and manager’s vision about how it was.

Let's begin by understanding Kotlin determination.

Kotlin is an OSS statically typed programming language that targets the JVM, Android, JavaScript and Native. It’s developed by JetBrains . Kotlin appeared in 2010 and was presented to the public in July 2011. Source code for language implementation was opened in February 2012.
The 1st milestone was released in February and included plugin for IDEA. The 2nd milestone was in June with the help of Android. In December, 4th milestone was presented and included Java 7 support in particular.

The first official 1.0 release was in February 2016.

Developer:

My acquaintance with Kotlin took place in May 2016. It was a year before, when at Google IO conference 2017 it was recognized as an official language for Android development along with Java. Since that moment, I’ve discussed new language with other developers many times.
Someone of them continued to write in Java or either imbued with innovation and have started using Kotlin in their work. When I joined Roll’n’Code team - Kotlin wasn't used before. But it was a great reason to investigate its work in combination with Java within one project.

Therefore, Kotlin was appreciated by its multiple advantages over Oracle product.

Some developers were admired by the new language from the very beginning.

I can’t say the same and do not recommend others to expect miracles immediately. The first impression was like a very close analogue Java. It took some time and more in-depth acquaintance with its capabilities for deeply language estimation.

Before May 2017 there was a sufficient number of developers and entire companies who have adopted Kotlin. Now, after the official announcement, a considerable number of people are with enthusiasm want to study it.

Manager:

There are lots of articles on social media which describe Kotlin possibilities and its advantages over Java. But most of articles are oriented on developers. People who held senior positions in companies are not always well versed in these questions and are not always ready to give a green light to something fundamentally new in an adjusted work process.

The proposal from a new developer "Let's implement my part of the project with Kotlin" sounded to me like "You will work, and I'll dance with a tambourine, and then you'll try to release it ...".
But still, before making a big decision - I Google it. I tried to find information that was proposed by developer and how my colleagues from other companies deal with it.

Developer:

Until recently, one of the key arguments "against" was “Google does not approve” (although, in fact, Google does not prohibit it)
Despite the absence of this argument now, not everyone is in a hurry to see the pros of the new language introduction. But there are enough pluses.

Besides, young and very ambitious specialists are working on Kotlin development. They are from JetBrains (whose product, IntelliJ IDEA became a basis for Android Studio in due time). This team has tried to take the best options from Java and get rid of its disadvantages while borrowing some points from other languages like Scala and Groovy.

Manager:

In fact, I realized that a new language would require a new development environment.
And that is moment when questions have appeared like:

1) How much does it cost?

2) How long developer will learn to interact with it?

3) How much time is needed for developers on Java to use Kotlin code correctly?