JetBrains produces another Java alternative
JetBrains, a vendor of development environments for languages such as Java, PHP, JavaScript and Ruby, is now working on a programming language that runs on Java Virtual Machine (JVM). Code-named Kotlin, the language is designed to get around a number of drawbacks present in Java and give developers some features that they miss in Java. Kotlin is object-based, statically typed, and apparently compatible with the Java virtual machine and other languages that run on it, including of course, Java itself. Kotlin's compiler can output Java byte code and Java can call Kotlin code and vice versa. The firm is also looking into combining Kotlin with JavaScript.
The language is said to be more stable at runtime than Java because it can statically check weak points such as the dereferencing of null pointers. It is also better designed, with support for aspects such as variable type interface, closures, extension functions, and mix-ins. Furthermore, domain-specific languages can be used in Kotlin. Some examples of Kotlin syntax are given on the "Hello, world!" web site.
The vendor compares the language with Java and the currently popular Scala. Kotlin is not the only language produced over the past few years that uses JVM as the execution environment. In April, Red Hat's Gavin King presented Project Ceylon, which, like Kotlin, was developed to overcome limitations in Java. The JetBrains developers mention Red Hat's attempt but point out that Project Ceylon is not compatible with Java because it does not support overloading, unlike Kotlin.
The JetBrains developers say that Scala, which is considered the most advanced option, is nonetheless too hard to learn and they criticise its tool support. As a comparable language, the Kotlin developers mention Gosu, which is also statically typed but uses generics as covariants and makes the same mistakes as Java does in arrays. The developers also mention Groovy, which is dynamically typed and too slow for the developers of Kotlin.
Eventually, the language is to be used commercially. When it has reached beta status, JetBrains plans to offer the compiler and plug-in for IntelliJ IDEA, the Java development environment, under the Apache licence as open source software. A public beta could be made available by the end of this year. The programming language is named after an island off the coast of Finland near St. Petersburg, Russia where the JetBrains firm has development offices. An FAQ page gives further background detail on the language.
(djwm)