In this article, we will try to determine why and in what ways Kotlin is used in financial companies, from traditional banks to fintechs. You will also have some perspective on Kotlin’s future, should you start using Kotlin in your own company.
You most certainly have already heard about Kotlin. A new language who has already become Google’s favorite. And developers show a growing interest in it.
In this article, we will try to determine why and in what ways Kotlin is used in financial companies, from traditional banks to fintechs. You will also have some perspective on Kotlin’s future, should you start using Kotlin in your own company.
Kotlin is a programming language created by JetBrains in 2011. However, its first version was released in 2016.
It is intended to be concise, safe and interoperable. Concise by reducing the amount of code, safe by avoiding some common errors, and interoperable by being fully compatible with any operating system.
As it is compatible with Java environments and with Java libraries themselves, it is considered as an alternative to Java.
It started gaining popularity in May 2017, when Google announced that it would be a supported language for Android development at the same level as Java and C++.
In May 2019, Google announced that Kotlin would be the preferred language for Android developers. This decision protects the newly born Kotlin from declining soon.
So why did Google choose Kotlin over Java? What are the main differences between Kotlin and Java?
Why is Java a renowned language?
Firstly, Java is the third most spread programming language (right behind Javascript and Python), with no less than 7,1 million developers worldwide in 2018 according to SlashData.
Secondly, Java is widely used by financial institutions such as banks and insurance companies.
Java is used in finance for two main reasons: it is more secure than other well-known languages such as C. Java’s system has good prevention against memory corruption for example. And it is very portable, as it can be run on any operating system thanks to its virtual machine.
A major difference between Java and Kotlin is the handling of uninitialized objects. Simply put, uninitialized objects are memory parts in our program that haven’t been filled up with data yet. In Java, trying to access this empty memory will result in an error displayed directly to the end-user of a program. In Kotlin however, unless explicitly specified by the programmer, those errors are only seen by the developer writing the program.
Another difference is the concision of the code. In Java, to create an object with one characteristic and basic properties, one has to write about twenty lines of code. In Kotlin, only one line is necessary for the same result. Having a compact code results in clearer code. Which reduces the number of programming errors.
Kotlin does not impose a particular philosophy of programming, on the contrary to Java who is significantly object-oriented. At a time where object-oriented programming is challenged, having this choice offers greater flexibility for programmers.
Furthermore, Kotlin is easy to adopt for existing Java programmers thanks to its interoperability.
Those benefits made Kotlin grow in popularity, and explain the reasons why Google choose Kotlin for Android development.
However, Kotlin has a small developer community for the moment (26 000 questions on Stackoverflow, against 1 600 000 in Java according to Stackshare). And due to its youth, it is harder to find Kotlin experts on the job market.
As Kotlin is very new compared to the 24 years old Java, it cannot be considered as a stable language. Moreover, Kotlin hasn’t had the time to prove itself in terms of security.
This last point may be the reason why Kotlin isn’t widely used in traditional banks who need stable and secure languages for their applications. However, Kotlin is a good alternative for financial institutions in search of a new language, yet compatible with Java.
Kotlin is already used by banks and financial institutions for some of their projects. Goldman Sachs, Credit Suisse or J.P. Morgan are hiring an increasing number of Kotlin developers.
And Corda, an open-source blockchain platform created by a consortium of around fifty banks and financial companies around the world, is fully written in Kotlin.
Nonetheless, Koltlin fails at replacing Java in major financial institutions. Indeed, it is mostly used for new Android development. As we spend more time on our mobile than on our computers, banks try to innovate by developing mobile applications.
One major reason is the difficulty to find expert developers with the necessary experience in Kotlin to handle financial projects. Financial applications must be safe and effective, hence the need for expert developers. Moreover, changing the programming language of a project also means training hundreds of developers linked to the project. Otherwise, the project would rapidly become unmaintainable.
In the future, however, as the Kotlin community grows, banks may use Kotlin for new projects other than Android development.
Banks cannot change their full stack of code, but fintechs start from scratch. Does it allow Kotlin to be popular amongst them?
In fintechs, the situation is drastically different. Fintechs have no history with Java and can choose any language they want. This said putting apart few ventures from big companies.
But looking at the graph, Python is the most used language for fintech companies.
However, many fintechs, particularly B2C companies, use phone applications as a primary mean of service. To create an account in Shine, a french fintech bank, one must download their mobile application.
Other examples include N26 who converted their banking platform to Kotlin. Or Monese, who used Kotlin to design new functionality in their Android App.
The real game-changer here is the fact that Kotlin is increasingly used in Android development. New fintechs wanting to have a consistent technology should choose Kotlin. It is more concise, modern, creates fewer errors and backed-up by two tech giants: Google and JetBrains.
Kotlin is a nice alternative to Java. Especially in Android development or for Fintechs looking for an interoperable and secure modern language.
However, Kotlin remains a very young language. And looking at Swift’s evolution shows how tricky it can be for a language to enroot itself in the programming industry.
What about you, have you tried Kotlin? We'd love to hear your opinion on this language?