Try Kotlin

Simplest version
An Object-oriented Hello
More examples
                    fun main() {
                        println("Hello World")

Why Kotlin?

  • Concise

    Drastically reduce the amount of boilerplate code

     Create a POJO with getters, setters, `equals()`, `hashCode()`, `toString()` and `copy()` in a single line:
    data class Customer(val name: String, val email: String, val company: String)
    // Or filter a list using a lambda expression:
    val positiveNumbers = list.filter { it > 0 }
    // Want a singleton? Create an object:
    object ThisIsASingleton {
        val companyName: String = "JetBrains"
  • Safe

    Avoid entire classes of errors such as null pointer exceptions

     Get rid of those pesky NullPointerExceptions, you know, The Billion Dollar Mistake
    var output: String
    output = null   // Compilation error
    // Kotlin protects you from mistakenly operating on nullable types
    val name: String? = null    // Nullable type
    println(name.length())      // Compilation error
    // And if you check a type is right, the compiler will auto-cast it for you
    fun calculateTotal(obj: Any) {
        if (obj is Invoice)
  • Interoperable

    Leverage existing libraries for the JVM, Android, and the browser

     Use any existing library on the JVM, as there’s 100% compatibility, including SAM support.
    import io.reactivex.Flowable
    import io.reactivex.schedulers.Schedulers
        .fromCallable {
            Thread.sleep(1000) //  imitate expensive computation
        .subscribe(::println, Throwable::printStackTrace)
    // Target either the JVM or JavaScript. Write code in Kotlin and decide where you want to deploy to
    import kotlin.browser.window
    fun onLoad() {
        window.document.body!!.innerHTML += "<br/>Hello, Kotlin!"
  • Tool-friendly

    Choose any Java IDE or build from the command line

    • Android Studio

      Bundled with Android Studio

    • Eclipse

      Install the plugin from the Eclipse Marketplace

    • Standalone Compiler

      Use any editor and build from the command line

Kotlin Usage Highlights

Start Using Kotlin Today!

Build your first Kotlin app in your
favorite IDE

Get started