Kotlin
Google's preferred language for Android development. Kotlin is a modern, statically typed JVM language — concise, null-safe, interoperable with Java. Used for Android apps, backend services (Ktor, Spring), and cross-platform (Kotlin Multiplatform).
JetBrains · Created Kotlin in 2011, officially adopted by Google for Android in 2017
- Android app development (official language).
- Backend services (Ktor, Spring).
- Kotlin Multiplatform for cross-platform.
- iOS apps (use Swift).
- When Java interop isn't needed.
- Simple scripts (use Python).
Definition
Kotlin is a statically typed language for JVM, Android, and multiplatform. Null safety (nullable types are explicit). Coroutines for async. Interoperates 100% with Java. Jetpack Compose for UI. Kotlin Multiplatform shares code across iOS/Android/desktop.
Why it exists
Java is verbose and error-prone (null pointer exceptions). Kotlin fixes this with null safety, concise syntax, coroutines, and modern features — while staying fully interoperable with Java.
How it works
Write .kt files, compile to JVM bytecode (or native via Kotlin/Native). Android Studio for Android dev. Coroutines for async. Jetpack Compose for declarative UI. KMP (Kotlin Multiplatform) shares logic across platforms.
Scaling limits
Android-specific for mobile (KMP is still maturing for iOS). Compile times can be slow. Kotlin/Native ecosystem is smaller.
Cost shape
Free and open source.
Alternatives
- Java — More mature, verbose, no null safety.
- Flutter (Dart) — Cross-platform UI, different language.
- React Native — JS ecosystem, different paradigm.
Failure modes
- Slow compile times.
- KMP iOS maturity.
- Java interop edge cases.