Ten years ago, JetBrains announced a new statically typed programming language for Java Virtual Machine (JVM) called Kotlin. Since then, a lot has changed. Kotlin has evolved from a Java alternative to a whole ecosystem that allows writing code for different purposes, including server-side, mobile, web, data science, multi-platform projects, machine learning, etc. The Kotlin team explained:
“It is integrated into our everyday lives. Almost every internet user has come across Kotlin software. If you have an Android phone or tablet — about 80% of the apps you use were built with Kotlin, and its reach extends beyond this platform.”
Journey of Kotlin
Kotlin’s ten-year journey started with an idea to create a platform that would make development more fun. Begun as a startup project inside JetBrains, Kotlin has come a long way from where it all started. The company said it relied on inputs from its community when making decisions about the future of the technology.
The Genesis
Maxim Shafirov, CEO of JetBrains commented:
“It happened very incidentally. The story goes like our co-founder and CEO Sergey Dmitriev, asked a bunch of guys — ‘Guys, what do you think JetBrains can do in terms of big things that would benefit the community, and are going to be noticeable.”
Dmitry Jemerov, one of the engineers at JetBrains, said that the ultimate thing a development company can do for the development community is a programming language. He noted:
“I was thinking at the time that JetBrains was a company that was building tools for languages and technologies from other companies, languages, frameworks and so on. So I was thinking of possible ways to increase the influence of JetBrains in the community. So to say, like, how can we do something that is our own technology, and not just supporting other people’s technology.”
Further, he said they had a lot of experience building support for different languages, including Java, JavaScript, Ruby, Python, PHP, Scala, etc. Using this experience, the JetBrains team in 2010 decided to build their own programming language. Jemerov also commented:
“However, the seed was there, and we started thinking — we have this deep understanding of many programming languages in their practical aspects. We have implemented support for dozens or maybe 20+ programming languages, and we know all of the drawbacks and good things in many languages so we can combine the things which are good and practical, and many people would use it.”
That was the start of project Kotlin, a statically typed programming language for JVM.
The Origin of Kotlin
Andrey Breslav, former project lead of the Kotlin Programming Language at JetBrains also minted:
“When I first heard that it was going to be a general-purpose language under JVM, I was like, there is no point in creating a new language. It is completely unreasonable. There were good languages out there at the moment. Scala was pretty big, and I liked it. It felt like all the problems that existed on JVM at the moment were more or less solved by Scala. I was like, don’t do it. It is not a good idea. Just use Scala. You will be fine.”
Breslav said the conversation went on, and he then started to notice issues that were not solved yet. And, from JetBrains perspective, it was perfectly positioned to accurately launch a new language to attract enough attention, traction and users, etc.
Initially, JetBrains had named the programming language ‘Jet.’ But, due to trademark issues, it had to come up with something else. “We were looking for another name and did not like anything, and it was quite difficult,” said Breslav.
Soon, Jemerov suggested ‘Kotlin,’ a name of an island outside of St. Petersburg, which seems to have been inspired by other programming languages like Java (coffee island) and Ceylon (tea island). In 2011, JetBrains made the initial announcement at the JVM language summit on the Oracle campus in Santa Clara. Since then, Kotlin has been synonymous with the developers’ ecosystem and growing.
Over the last 12 months, Kotlin has been used by 4,800,000+ developers for server-side, mobile multi-platform, Android, and front-end development. In addition to this, there are about 194 Kotlin user groups worldwide, and 45 of the top-200 universities are teaching Kotlin. Recently, Kotlin 1.5 was released with the new JVM IR backend and language features. In January this year, JetBrains launched the Kotlin YouTube channel.
What’s next?
Roman Elizarov, project lead for the Kotlin Programming Language at JetBrains
“In the next ten years, we have a lot of work to do. First of all, we will need to establish Kotlin as a multi-platform language firmly, and I see us finishing the work that we started in multi-platform, both infrastructural and in stabilising the support for multiple different platforms.”
Further, Elizarov plans to build a Kotlin ecosystem that would consist of multi-platform Kotlin-first libraries on multiple platforms that provide a wide range of different abstractions and utilities to developers. He says they are building core foundational libraries for multi-platform and are working on tools to make it easier for their community to develop domain-specific things. Besides multi-platform language, JetBrains is also working on structural data, where developers can start by defining things like collection literals and data in the source code quickly and then deconstruct this data later on.