Learn Kotlin

Kotlin is a modern, statically typed language from JetBrains that blends object-oriented and functional programming to help you write safer, more concise code for Android, servers, and beyond.

What Is Kotlin?

Kotlin is an open-source, statically typed programming language created by JetBrains and first released in 2011. It was designed from the start to interoperate seamlessly with Java while eliminating many of the pain points developers faced with Java's verbosity and null-pointer crashes. Since 2019, Google has recommended Kotlin as the preferred language for Android app development, and it now powers everything from mobile apps to backend services.

Why Learn Kotlin?

  • Concise syntax that removes much of the boilerplate code required in Java
  • Built-in null safety that catches a whole class of crashes at compile time
  • Full interoperability with existing Java libraries, frameworks, and tools
  • One language for many targets: JVM, Android, browsers (Kotlin/JS), and native binaries (Kotlin/Native)
  • Backed by JetBrains and officially supported by Google for Android development

Because Kotlin compiles down to the same bytecode the JVM already understands, you can mix Kotlin and Java files in a single project and call code back and forth between them. This makes Kotlin easy to adopt gradually inside an existing Java codebase instead of requiring a full rewrite.

Hello, Kotlin

fun main() {
    println("Hello, Kotlin!")
}
Note: Notice that Kotlin does not require a semicolon at the end of a statement, and every standalone Kotlin program needs a main function as its entry point. You'll dig into both details in the Syntax lesson.

Where Kotlin Is Used

PlatformWhat It's Used For
AndroidThe official, JetBrains- and Google-backed language for building Android apps
Server-sideBackend APIs and services built with frameworks like Ktor and Spring Boot
WebKotlin/JS compiles Kotlin code to JavaScript that runs in the browser
Native & DesktopKotlin/Native compiles to native binaries for desktop apps and iOS

Variables Feel Familiar

fun main() {
    val language = "Kotlin"
    val releaseYear = 2011
    println("$language was first released in $releaseYear")
}

Kotlin Feels Expressive

fun main() {
    val numbers = listOf(1, 2, 3, 4, 5)
    val total = numbers.sum()
    println("The total is $total")
}

In the next lesson, you'll install nothing at all to start: you can write and run your very first Kotlin program directly in the browser using the Kotlin Playground, or set up a full IDE if you prefer.

Exercise: Kotlin Introduction

Who originally developed the Kotlin programming language?

Frequently Asked Questions

Should I learn Java before Kotlin?
Not necessarily. Kotlin stands on its own and is friendlier to start with, particularly around null handling. Java knowledge helps when you meet older Android codebases or read library source, since the two run on the same platform and interoperate freely.
Is Kotlin only for Android?
No, though Android is where it is most used, and Google treats it as the preferred language there. Kotlin also runs server-side on the JVM, and Kotlin Multiplatform shares logic across platforms. Server-side adoption is smaller but growing.
What makes Kotlin safer than Java?
The type system distinguishes values that can be null from those that cannot, so the compiler catches a whole class of null pointer errors before the program runs. Data classes and immutability defaults remove more boilerplate where bugs used to hide.