Kotlin M1 is Out!

Today we are pleased to announce M1: the first milestone release of Kotlin.
Kotlin’s homepage (kotlin.jetbrains.org) provides full details about the language. In this post I give some highlights associated with the milestone release.

What’s in the box

Kotlin comes in form of a standalone compiler and a plugin for IntelliJ IDEA.

  • IntelliJ IDEA Plugin
  • Standalone Compiler (download here)

See the Getting Started guide for details.

Standard library

Kotlin’s Standard Library provides many useful functions, including enhancements for existing Java APIs. For example, it enables bulk data processing with map()/filter()/etc available on collections:

val minors = users.filter { it.age < 21 }

Or you can simply read text from a java.io.File:

val text = file.readText("UTF-8")

And even java.util.concurrent becomes nicer:

myReentrantLock.read {
    // read your data
}

See the Standard Library API documentation here.

Build tools

We have significantly improved Kotlin’s Maven Integration.

First of all, Kotlin’s maven artifacts are now published in repository.jetbrains.com.
Find the instructions for building Kotlin projects as well as mixed Java/Kotlin code here.

You can still use Kotlin with Ant and Griffon, of course.

What’s new

Here I’d like to point out one improvement: the IDEA plugin now does very rich semantic highlighting that can be tweaked in the Settings dialog:

For the full list of changes, please see the commit history on github and the closed issues in YouTrack.

The previous post provides some details on the following features:

  • JDK API enhancements
  • Code completion for extension functions
  • KDoc — API documentation generator for Kotlin
  • GitHub support
  • Annotations
  • Multiline String Templates
  • Simple Enums
  • Local Functions
  • “Assert not null” operator (!!)
  • Byte code viewer

Many thanks

Working on a cool project is a lot of fun, but working with great people is even better. I would like to thank our team at JetBrains, JetBrains guys who are not on the team, but still help us as well as the external contributors who make Kotlin move even faster, namely:

Have a nice Kotlin!

About Andrey Breslav

Andrey is the lead language designer working on Project Kotlin at JetBrains. He also works on making the Java language better, serving as a Java Community Process expert in a group for JSR-335 ("Project Lambda"), and occasionally speak at software conferences such as Devoxx or JavaOne.
This entry was posted in General and tagged . Bookmark the permalink.

13 Responses to Kotlin M1 is Out!

  1. Guangyu says:

    Good news! I have downloaded the newest version, It’s awesome.
    Thanks for the great work!

  2. Neil says:

    Great! I’m anxious to try it out. Could you fix the code snippet formatting in the online documention? Newlines in the text are not included (or something) and the code appears mostly on one line which obviously makes it very hard to read. I am using IE7. For example, the code example on this page is displayed as 8 lines.

  3. Sergii Rudchenko says:

    Thanks! I’m eager to get started with Kotlin as a main language :)
    Andrey, are there any plans on Android support?

  4. Jan Kotek says:

    Great, this is best news of this month for me. Thanks guys.

  5. Bikal Gurung says:

    What is the status of the javascript backend for this release? And also do you have any release date for the final product, i.e. version 1.0? Is this happening this year or in the next few months?

    • The JavaScript back-end is working, but the IDE UI and other tools do not provide access to it yet. This will be fixed pretty soon.

      On the release date: no, we don’t have a date for 1.0, because we think that a language is ready for a release after massive validation, i.e. production use. So, JetBrains is going to use Kotlin in production for a while, and only then release a 1.0. Of course, a stable beta will be available earlier.

  6. Vadim says:

    What about compilation speed? Have you measured it (comparing to Java and Scala)?

    • To measure compilation speed properly we’d need a big Kotlin codebase that does not exist yet. Some micro-measurements show that there’s quite some space for improvement in compilation speed, and we are working on it constantly. To date, no language feature seems to be a performance blocker in Kotlin, though many optimizations and a lot of profiling work is to be done.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>