Kotlin M3 brings important additions to fledgling JVM language

It’s been a quiet few months for the upcoming JVM language
set to be launched byJetBrains, the
creators behind the wildly successful Java IDE,IntelliJ
IDEA. But for good reason – they’ve been working
hard towards the third milestone of statically-typed
Kotlin.

The JVM bytecode and JavaScript compiling effort has been in
the works since July 2011 and appears to be nearing its curtain
call with the latest update. Aside from a fresh lick of paint to
Kotlin’s website and over 400 issues closed, important additions
have been made to the language itself.

Andrev Breslav, the lead for Kotlin, last week gave a sneak
preview into Kotlin’s new exciting feature ofmulti-declarations, ideal for writing
extension functions. Breslav also informs that, despite not being
complete, there’s been huge strides made in the type argument
interface algorithm.

He adds(emphasis
Breslav’s):

In M3 we started to profile things and tuneperformanceof the IDE as well as the compiler.
It will be a lot of work, but eventually everything will be fast
and consume little memory. This time most improvements are related
to code completion.

Kotlin is rightly trying to stand apart from other JVM
languages, and the work done toward collections looks promising, as
the java.util diagram below shows. Essentially, there are
interfaces that can distinguish between mutable and read-only
collections.

Tuples are out, external
annotations are in andas
of M3, Kotlin supports local classes and object
declarations. The team are once again encouraging feedback on their
JVM alternative. If you’re new to what Kotlin can do, the
Getting Startedguide should get you up to
speed.

The team will be showcasing what Kotlin can do at the
upcoming JavaOne conference, so we should get to see more of what
the JVM language can do against its competitors.