“Is it the Time to Change the Language?” – Well to answer this simple and basic question, lets first have background check at Kotlin language.
Kotlin is a powerful statically-typed programming language that uses and runs on the Java Virtual Machine (JVM). Built by JetBrains, the company behind IntelliJ Idea, and a number of IDE solutions, the language is completely open source.
The language was introduced back in 2011; however, the interest for Kotlin usage has peaked a couple of months ago, following the announcement at Google I/O 2017 making it the first-class official supported language for Android development.
Kotlin as a language is rapidly gaining adoption. All thanks to the solid corporate support from its creator JetBrains and Google for making it the official language for Android. According to the official website of the language, some of the leading technology based companies, including Uber, Pinterest, Coursera, Pivotal, have introduced Kotlin for their Android applications.
#Pros for using Kotlin
Increase In Team’s Productivity
Being Java-based, Kotlin, however, is compact, clear and efficient, it has a concise and intuitive syntax. It takes less time to write and deploy new code. As a result, Kotlin can significantly increase team productivity. This also contributes to better code maintainability at scale.
Built and supported by JetBrains, Kotlin has a stellar support for a number of IDEs, including Android Studio. Using familiar and tried and true development tools also contributes to developer productivity and satisfaction.
Compatibility With Existing Code
One of the strong points of Kotlin is its 100% Java interoperability. The language works well with Java and all related tools and frameworks. This compatibility feature makes it possible to gradually migrate to Kotlin, or to successfully use both languages within the same project.
Less QA Time and Fewer Bugs
The Kotlin compiler detects all possible errors at compile time, not at run time. Kotlin, with a more compact and clear codebase, allows for less errors and more stable code in production.
Unlike other languages, Kotlin is a mature language. It has gone through multiple Beta stages since its introduction back in 2011. The latest release is also reversely compatible with the previous language versions.
#Cons for using Kotlin
However, there are few points to consider before going all in with Kotlin in production.
- Being very close to Java, Kotlin still has a certain learning curve for developers who are looking for a language switch, as it still differs in many aspects. If you decide to move your Android development team to Kotlin, there might be an additional investments involved in the training and time needed.
- The developer community is still small, though Kotlin is rapidly growing in its adoption as the first-class language for Android. This leads to limited resources for learning the language and makes finding the answers to any questions that might arise in the process of app development difficult. For example, searching for Kotlin on StackOverflow returns just over 11,261 posts tagged with Kotlin, compared to over 1,300,000+ Java-related posts.
- As Kotlin is still relatively new, it might be hard to find an experienced professional developer in this domain.
- The results of multiple tests are mixed, but some developers report slower compilation speed as one of the main drawbacks of Kotlin. In some cases, Kotlin is significantly slower than its predecessor and sometimes Kotlin beats Java in compilation speed.
Having a look at the Pros and Cons of Kotlin language, there is no easy way to answer this question. While in some aspects, Kotlin clearly is superior to Java, it is still far from being perfect. If you still want to give Kotlin a try, you can allow some of your team members to experiment with this language, or hire a dedicated developer to work on this language.