Spokes.wiki Search About
Software Application source ↗ source url updated Thu Jul 16 2026 00:00:00 GMT+0000 (Coordinated Universal Time)

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).

programming-language · hosted-language · dart · typescript-7-go-compiler · developer-tooling · jetbrains · kotlin-and-android · google · flutter