JetBrains Releases Update of Kotlin for JVM, JavaScript and Android

Software development toolmaker JetBrains has released the latest upgrade of Kotlin, its open-source programming language for both the JVM and Android.

Kotlin 1.0.5 includes a number of bug fixes and tooling updates from version 1.0, which was made generally available in February.

The list of productivity improvements in this release includes, most notably, new support for postfix code completion in the IntelliJ IDEA plugin. JetBrains introduced what was then a new kind of code completion to IntelliJ IDEA, its code-centric Java IDE, in 2014. This feature allows developers to transform an already typed expression into another one based on the postfix added, the type of expression, and its context, explained JetBrains principal engineer Dmitry Jemerov in a blog post.

Also with this release, the IntelliJ IDEA plugin can now detect many cases where imperative for loops can be written in a more compact and idiomatic manner using standard library functions, such as filter and map, Jemerov reported.

The Kotlin plugin now supports "Extract Interface" and "Extract Superclass" refactorings, Jemerov said, which were previously supported only for Java and some other languages. There's also a new refactoring "Introduce Type Parameter," which provides an easy way to change a class or function into a generic one.

This release also updates the Kotlin Lint checks to parity with Android Studio 2.2 Java Lint checks. ("Lint" is a code scanning tool in the Android Studio IDE.) It also adds a feature long awaited by Android developers: "Extract string resource" intention, which allows devs to move a hard-coded string literal from Kotlin code to a string resource file.

And the release adds two new features to the JavaScript backend: the @JsName annotation now controls the names of JavaScript functions and properties generated from Kotlin code, making it much easier to call Kotlin-compiled code from plain JavaScript: and class literals (Foo::class) are now supported.

Kotlin is a statically typed language similar to Scala, Gosu, Ceylon, and Fantom, which compiles to both JVM byte code and JavaScript. JetBrains has claimed that Kotlin is more stable at runtime than Java, because it can statically check weak points and supports things like variable type interface, closures, extension functions, and mix-ins.

JetBrains is the chief commercial supporter of Kotlin, which it unveiled in 2011 at the JVM Language Summit in Santa Clara, CA, and later released it for distribution under the Apache 2 Open Source License. The language is actively used in production at the Prague-based JetBrains and by other companies and individual developers "from web-service back-ends to Android apps," said project lead Andrey Breslav. The company has reportedly committed 20 JetBrains employees to the project, and claims that nearly 100 collaborators are working on the language.

Gradle, Inc., chief commercial supporter of the open-source Gradle build automation system, has been working with JetBrains to provide a Kotlin-based build programming language for Gradle, called Gradle Script Kotlin.

Two books have been written about the language: Kotlin in Action and Kotlin for Android Developers. A curated list of Kotlin frameworks, libraries, documents and other resources is available on GitHub.

According to Wikipedia, Kotlin is the name of a Russian island located near the head of the Gulf of Finland, 20 miles west of Saint Petersburg in the Baltic Sea. One of JetBrains' development offices is located in Saint Petersburg.

About the Author

John K. Waters is the editor in chief of a number of sites, with a focus on high-end development, AI and future tech. He's been writing about cutting-edge technologies and culture of Silicon Valley for more than two decades, and he's written more than a dozen books. He also co-scripted the documentary film Silicon Valley: A 100 Year Renaissance, which aired on PBS.  He can be reached at [email protected].