Kotlin
JetBrains' statically-typed, multi-target programming language — written in ../dev-tooling-wiki as its second
programming-language page after dart, and a close structural rhyme with it. Apache-2.0, designed by
Andrey Breslav (now led by Roman Elizarov), first committed Nov 2010, open-sourced Feb 2012, hit 1.0 in
Feb 2016. Wikipedia is the neutral (T2) anchor.
The language
- Null safety in the type system — nullable vs non-nullable types are distinct, with an explicit
?marker and null-safe operators (?.safe-navigation,?:Elvis). The same design bet dart makes with sound null safety. - Static typing with inference, concise syntax (optional semicolons; newline-terminated statements; type-after-name declarations, as in Rust/Pascal), and full functional + OO support (lambdas, higher-order functions, default/named args). Classes are public and final by default.
- Coroutines for structured concurrency.
The compile-everywhere toolchain
Like dart, Kotlin's defining trait is one language, many backends — which is why it's tooling, not just syntax:
- JVM — full two-way interop with Java and the Java class library (its origin and heartland).
- JavaScript — for frontend/web and code-sharing with JS backends.
- Native — via an LLVM backend to iOS/macOS/Linux/Windows, no JVM required.
- WebAssembly — beta, including WASI.
- Kotlin Multiplatform (KMP) — share business logic across Android/iOS/server/desktop from one codebase (stable Nov 2023; Google endorsed it at I/O 2024, and uses it in Google Docs for shared Android/iOS/web logic).
K2 — the compiler-corner performance story
Kotlin 2.0 (May 2024) shipped K2, "a complete rewrite of the original compiler frontend":
benchmarked up to 94% faster compilation, with the analysis phase up to 376% faster. That slots
into ../dev-tooling-wiki's compiler-performance thread as a distinct lever — where typescript-7-go-compiler
won speed by porting the compiler's host language (TS→Go) and v-flat-ast won memory by changing
its data layout, K2 rewrote the frontend itself. Same corner, a fourth route to "make the
toolchain fast."
Android, and the Google mobile pair
Google announced first-class Android support in May 2017 and made Kotlin its preferred Android
language in May 2019; as of 2024, 95%+ of the top-1,000 Play apps contain Kotlin. Google's own
"Kotlin-first" pitch (kotlin-and-android) adds the practitioner numbers: 60%+ of professional
Android developers use Kotlin, and Kotlin apps are "20% less likely to crash" (the null-safety
payoff, made concrete). Android backs it with tooling — Android Studio's Java→Kotlin conversion and
bytecode viewer, the Android KTX idiomatic extensions, and nullability annotations in the SDK from
API 28 — and Jetpack Compose, "Android's modern UI toolkit built on Kotlin" (a Kotlin-native UI
framework, the Android counterpart to Flutter; adjacency to ../ui-frameworks-wiki if a
Compose source lands).
That makes Kotlin and dart the two Google-blessed mobile stacks — Kotlin↔Android and Dart↔Flutter — though from different makers (JetBrains vs Google) and different lineages (JVM vs Flutter's own canvas).
Kotlin Toolchain 0.12.0 (added 2026-09-07)
JetBrains released 0.12.0 of the Kotlin Toolchain, "a unified entry point utility into the Kotlin
programming language," reported in InfoQ's Java roundup for the week of
31 August 2026: library publishing widens from JVM-only to multiplatform libraries, kotlin run
gains the ability to execute Wasm apps, and the terminal UI and IDE integration improve. Breaking
changes exist and were not read.
Neither of the first two adds a target — the compiler has emitted Wasm and multiplatform artefacts for years. What moved is the tooling around them, which had stayed JVM-shaped while the compiler went multi-host. That gap between what a language can target and what its default entry point makes easy is worth watching on hosted-language; the multi-host claim on this page has, until now, been sourced entirely from the compiler's capability list.
Related
programming-language · hosted-language · dart · typescript-7-go-compiler · developer-tooling · jetbrains · kotlin-and-android · google · flutter