Kotlin: the New JVM Language from JetBrains
IDE support is an afterthought for most of the other languages, and for us it’s a major point from the beginning.
Since joining JetBrains in 2003, Dmitry Jemerov has worn a lot of hats in the company. These days, he leads the development of PyCharm, an IDE for Python and Django. He also contributes to IntelliJ Platform and to the implementation of Kotlin, the new programming language developed by JetBrains. Previously, he also worked on IntelliJ IDEA, RubyMine and Omea, among other things.
There are no shortages of languages for the JVM, and now JetBrains have added one more: the statically-typed JVM-targeted programming language, Kotlin. In this interview, we speak to Dmitry Jemerov, to find out what makes Kotlin unique.
JAXenter: Can you give us an introduction to the recently-announced Kotlin project?
Dmitry Jemerov: Project Kotlin is the codename of a statically-typed JVM-targeted programming language developed by JetBrains, intended for industrial use.
With Kotlin, we’re building upon the many years of experience creating development tools for different languages, and hoping to provide a language which is productive enough for today’s environment and at the same time simple enough for the ordinary programmer to learn.
JAXenter: There are no shortage of new languages that run on the JVM. What is it that makes Kotlin unique?
Dmitry: There is no single unique distinguishing feature. We’re striving to achieve the optimum balance between simplicity, expressive power, Java interoperability and compilation performance. Also, IDE support is an afterthought for most of the other languages, and for us it’s a major point from the beginning.
JAXenter: What are JetBrains’ plans to provide IDE support for Kotlin, moving forward?
Dmitry: Since we’re a development tools company, we’re building first-class IDE support for Kotlin in parallel with the language itself. And as soon as the language reaches its beta stage (currently planned for the end of 2011), we’ll release both the compiler and the development tools as open-source under the Apache 2 license.
Also, we plan to provide an initial implementation of the Eclipse plugin, although right now this is not a top priority for the team.
JAXenter: Who is the target audience, for Kotlin?
Dmitry: Essentially everyone whose day job is Java programming. We don’t have a focus on any specific problem area.
JAXenter: How would you describe the status of the language? Is Kotlin feature complete?
Dmitry: No, of course not. The initial design of the language is complete, but we’ve received a lot of feedback from the users, and we’re currently incorporating the feedback into our design. We’re also moving forward with our work on the compiler implementation. Another large remaining area of work is decoupling the existing implementation from the IntelliJ codebase and converting it into a standalone compiler.
JAXenter: How do you foresee Kotlin evolving over the next few months?
Dmitry: Our biggest goal for the next few months is releasing a public beta of the compiler. The design will also evolve based on the feedback we’re receiving, but the majority of the work will be on the implementation part.