Kotlin: Making JVM a Better Place

Short Form


Learn about Kotlin — a modern programming language targeting JVM (and JavaScript). Kotlin not only interoperates transparently with Java and re-uses all the existing Java libraries, but even allows you to make those libraries _better_. This session demonstrates how existing Java libraries may be enhanced in Kotlin.


Kotlin is a statically typed general-purpose language with lots of modern features that make it safe and expressive. It is developed by JetBrains (creators of IntelliJ IDEA) and distributed under the Apache 2 license.

This session demonstrates Kotlin’s interoperability with existing Java code. It is possible to develop “mixed” projects where Kotlin code calls Java and vice versa. On to of that, you will learn how existing Java libraries may be enhanced in Kotlin by adding

  • extension functions for missing handy operations,
  • overloaded operators, such as ‘+’ or ‘[]’,
  • higher-order functions for internal iteration, and map/reduce,
  • builders for declaratively specifying data.
    And all that for familiar Java collections, IO, Swing and more!

You can read more about Kotlin at http://jetbrains.com/kotlin
And try it out at http://kotlin-demo.jetbrains.com/

Speaking experience

I've presented at JVM Language Summit, OSCON, StrangeLoop, Devoxx. Links to all the talks (most of them with videos) can be found here: http://confluence.jetbrains.net/display/Kotlin/Talks+and+Publications
On top of that I did quite some lecturing in college and high school.

To date (Jan, 2012) I have not given this talk before, but I submitted it (and closely related) to a few places.


  • Avatar

    Andrey Breslav



    Andrey is the lead language designer working on Project Kotlin at JetBrains. He started his career at Borland working on language implementations for MDA support. He spent a few years teaching in college and developed courses in Basics of OOP, Software Design and Programming Practice. Andrey joined JetBrains to start Project Kotlin in 2010. He serves as a Java Community Process expert in a group working on JSR-335 (“Project Lambda”).
    Andrey is a frequent conference speaker delivering talks at venues like OSCON, StrangeLoop and Devoxx.