Kotlin

Does the growth of Kotlin signal a decline in Java?

According to recent figures by Oracle, there are 12 million developers running Java, 38 billion active Java Virtual Machines and 21 billion cloud-connected VMs – so we can assume that Java shows no signs of declining in development importance. However, much is being discussed about the growth of Kotlin, the open source language from JetBrains that targets the Java Virtual Machine (JVM), Android, JavaScript and Native. Google recently put its support behind Kotlin when it announced earlier this year that it was adding the programming language to it Android operating system – and since then, there has been a big adoption among developers.

JetBrains says Kotlin is more concise than Java, requiring about 40 per cent fewer lines of code and thus making it better for developers to use. It’s shorter, lighter and more understandable and is fast becoming the go-to for Android developers to use, and is also more type-safe and supports functional programming constructs. However, it does pose some interesting issues for CTOs not least in finding the right Java skills for internal development teams.

Issues for CTOs

For CTOs, Kotlin creates risks; it’s currently a new language and that means that it’s unproven. It also means that best practice processes haven’t been established and there is a learning curve for internal development teams to go through. I liken this to a Swiss Army Knife – there are many combinations with potentially the same outcome, but those combinations need ironing out to achieve maximum effectiveness – which components are used and in what order to get the best from of the product for the job at hand? There are no shortcuts to finding the answers – except to get help from those who have already asked the questions before you, and created the best practice processes to adopt.

Of course the flip side is that there is also risk if CTOs don’t choose to update their in-house development skills as new languages like Kotlin grow in popularity. Hiring the best skills means attracting those developers who want to put new techniques to use – if they don’t have that opportunity, then it ultimately becomes more difficult to hire young talent – the talent goes somewhere else. Whilst programming languages like Kotlin are relatively early in their growth and development (V1.0 is currently available), organisations are finding it easier to outsource to a development partner that already has the skills to supplement an in-house team and has already established many of the processes required to attract the best talent for the job.

The next five steps CTOs should take

1. Start by researching internally amongst your own developers – especially the android developers – those who are already aware of Kotlin. You probably already have specialists who have started learning Kotlin and may have used it before.

2. To introduce Kotlin, organise an internal hackathon where your developers must perform a useful task using Kotlin and then discuss the pros and the cons of the language. Choose the best potential project to start with.

3. Start small – due to full Java interoperability Kotlin can be used within any Java project to develop a small piece of functionality like a library, module or service.

4. Begin a pilot Kotlin project and pay detailed attention to development experience: follow agile development practices including code reviews, regular technical retrospective, technical wiki with code samples and snippets for example. Build your project on several Kotlin resources like Kara web framework or RxKotlin for example.

5. After pilot project completion organise a final retrospective to discuss what was good and bad and agree further steps with Kotlin.

If you’d like to know more about Godel’s Java or Kotlin development skills, please contact Aliaksandr Karymau.