JetBrains Releases Tech Preview of VM-less Kotlin

Software development toolmaker JetBrains has released the first Technology Preview of Kotlin/Native, a version of the open source programming language for the JVM, Android and JavaScript that compiles directly to machine code. The new Kotlin/Native compiler produces stand-alone executables that can run without a virtual machine.

This is a tech preview, not a fully functional release, but it provides potential users with access to the source code on GitHub. When Kotlin/Native goes GA, the compiler will be available under the Apache 2 OSS license. No release target date has been announced.

Kotlin/Native uses the LLVM compiler infrastructure to generate machine code. The LLVM Project is an umbrella project comprising a collection of modular and reusable compiler and toolchain technologies.

The company plans to support several platforms supported by the LLVM in the future. This preview release supports four platforms:

  • MacOS X 10.10 and later (x86-64)
  • x86-64 Ubuntu Linux (14.04, 16.04 and later)
  • Apple iOS (arm64), cross-compiled on MacOS X host
  • Raspberry Pi, cross-compiled on Linux host

Kotlin/Native takes the language another step closer to the company's goal of making Kotlin usable throughout a modern application. "Eventually, it will be possible to use Kotlin to write every component," project lead Andrey Breslav wrote in a blog post, "from the server back-end to the Web or mobile clients."

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 run time 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, Calif., 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.

In March, the company released Kotlin 1.1, a major update that took JavaScript support out of the experimental stage, and added support for coroutines, which the company described as "a lightweight alternative to threads," which enable more scalable application back ends, supporting massive workloads on a single JVM instance. Coroutines are also "a very expressive tool for implementing asynchronous behavior," the company said, "which is important for building responsive user interfaces on all platforms."

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].