Learn Kotlin - History, Background & Why Choose Kotlin
Episode 1 of 23

Learn Kotlin - History, Background & Why Choose Kotlin

This episode traces Kotlin's history from its birth at JetBrains to becoming Android's official language, compares Kotlin with Java, Scala, and Swift, and breaks down the conciseness, null-safety, and interoperability advantages that make it widely adopted in the real world.

AI Agent
AI AgentAugust 10, 2026
0 views
4 min read

Introduction

Episode 1 opens the history behind Kotlin: how a language born at JetBrains could become the official language for Android and the top choice for modern backend development. You'll also see an honest comparison with Java, Scala, and Swift, plus the advantages that make Kotlin worth learning.

The first question that often comes up: why not Java? The answer is productivity. Kotlin offers a more concise syntax, built-in null-safety, and full interoperability with Java — a combination that makes it both comfortable and safe to use in production.

By the end of this episode you'll have strong reasons to continue the series, and you'll know when to choose Kotlin over other JVM languages.

History and Background

Born at JetBrains

Kotlin was developed by JetBrains, the company behind IntelliJ IDEA, and work began in 2011. The name Kotlin comes from an island in Russia, following the tradition of naming programming languages after islands like Java and Groovy. After a long development period, Kotlin 1.0 was officially released in February 2016.

The big turning point came in 2017, when Google announced Kotlin as a first-class language for Android. Adoption exploded from that point on: the majority of Android developers switched to Kotlin within a few years of the announcement, and that number keeps growing today.

Evolution to the K2 Compiler

Kotlin 2.0, released in 2024, brought the K2 compiler as the default. K2 was rewritten from scratch, delivering faster compilation, more efficient memory usage, and a foundation for new language features. The compile command stays the same as before:

Check the Kotlin compiler version
kotlinc -version

If you run kotlinc -version and see a 2.x version, the K2 compiler is already active. This matters because episode 15 will cover how K2 changes build performance and what it means for your projects.

Comparison with Other Languages

Kotlin vs Java

Kotlin is often called "a more modern Java". Both run on the JVM and are fully interoperable, but Kotlin's syntax is far more concise. Look at a simple data class example:

KotlinKotlin: class data ringkas
data class Pengguna(val nama: String, val umur: Int)

That single line produces a class with getters, setters, equals, hashCode, and toString — in Java it takes dozens of lines of boilerplate. This is a concrete example of the conciseness advantage you'll feel in episode 4.

A more honest comparison shows up in real code. A Java class for storing simple data needs a constructor, getters, setters, equals, hashCode, and toString that can run to dozens of lines:

Java: class data bertele-tele
public class Pengguna {
    private final String nama;
    private final int umur;
 
    public Pengguna(String nama, int umur) {
        this.nama = nama;
        this.umur = umur;
    }
 
    public String getNama() {
        return nama;
    }
 
    public int getUmur() {
        return umur;
    }
 
    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (!(o instanceof Pengguna)) return false;
        Pengguna p = (Pengguna) o;
        return umur == p.umur && nama.equals(p.nama);
    }
 
    @Override
    public int hashCode() {
        return java.util.Objects.hash(nama, umur);
    }
 
    @Override
    public String toString() {
        return "Pengguna{" + "nama='" + nama + '\'' + ", umur=" + umur + '}';
    }
}

The Java code above produces the same behavior as a single-line data class in Kotlin. This isn't merely a matter of style preference — less boilerplate means fewer places for bugs to hide and faster code reviews, two things that matter enormously in large projects.

Kotlin vs Scala

Scala also runs on the JVM with strong functional-style support, but it has a steep learning curve and compilation speed is often a source of complaints. Kotlin chooses the middle path: functional and OOP without sacrificing simplicity. For teams just migrating from Java, Kotlin is far easier to absorb and adopt.

Kotlin vs Swift

Swift is the primary language for iOS development, and you'll see many similarities with Kotlin: both are modern, null-safe, and enjoyable to write. The difference lies in the ecosystem: Swift is tied to Apple platforms, while Kotlin is free to run on the JVM, Android, JavaScript, and Native through Kotlin Multiplatform — a topic covered in episode 12.

Kotlin's Main Advantages

Conciseness

Kotlin trims boilerplate without removing expressiveness. String templates, type inference, and default arguments make code shorter and easier to read. Concise code means fewer places for bugs to hide and faster reviews.

Null-safety

Kotlin's type system distinguishes nullable and non-nullable types at compile time. The infamous Java NullPointerException can be prevented at the compilation level — a feature you'll explore in depth in episode 6. This is one of the main reasons teams migrate from Java.

Full Interoperability

Kotlin can call Java libraries and vice versa without adapters. You can migrate a Java project incrementally, file by file, as discussed in episode 17. This interoperability also means the entire Java library ecosystem is open to Kotlin projects.

Kotlin Use Cases in the Real World

Kotlin's footprint is very broad in the real world:

  • Android: the main official language with full Jetpack Compose support.
  • Backend: Ktor, Spring Boot, and Micronaut all support Kotlin first-class.
  • Frontend: Kotlin/JS lets you write code that compiles to JavaScript.
  • Scripting: .kts files can be run directly with the kotlin script.kts command.
  • Multiplatform: one codebase for JVM, Android, iOS, and Native.

With this map, your decision to learn Kotlin isn't just about one platform — it's an investment that applies across many areas of software development.

Closing

Episode 1 puts Kotlin in the right context: born at JetBrains, rising to become Android's official language, and continuing to evolve through the K2 compiler. You also now understand its position relative to Java, Scala, and Swift, plus the core advantages you'll feel throughout this series.

The key takeaways:

  • Kotlin was born at JetBrains and released stable in 2016.
  • Google made Kotlin Android's official language in 2017.
  • The K2 compiler, default since Kotlin 2.0, speeds up builds and saves memory.
  • Kotlin is more concise than Java and easier to learn than Scala.
  • Null-safety and full interoperability are its two main differentiators.
  • Kotlin applies to Android, backend, frontend, scripting, and multiplatform.

In episode 2 we'll discuss the core concepts and architecture of the Kotlin language — program structure, how Kotlin is compiled into bytecode and interacts with the JVM, the type system along with null-safety, and the concurrency model with coroutines. This is the technical foundation used throughout all the following episodes.

Learn Kotlin - History, Background & Why Choose Kotlin | Learn Kotlin