Field Guide · language

Also known as: Kotlin

Kotlin is a statically typed, concise programming language from JetBrains that runs on the Java Virtual Machine, interoperates fully with Java, and is Google’s preferred language for Android development.1

.kt files .java files bytecode JVM runs it
Kotlin and Java both compile to JVM bytecode, so the two can call each other freely in one project.

Overview

Kotlin compiles to the same JVM bytecode as Java and is executed by the same JIT-compiling runtime, so it inherits Java’s mature ecosystem, libraries, and tooling while shedding much of the language’s verbosity.2 A Kotlin file can call Java code and vice versa, which let teams adopt it incrementally rather than rewriting. Beyond the JVM, Kotlin can also target JavaScript and native binaries, enabling shared “multiplatform” code.

Key characteristics

Kotlin’s type system is static with strong inference, and its standout feature is null safety: the type system distinguishes nullable from non-nullable references, catching a whole class of null-pointer errors at compile time.2 It blends object-oriented and functional styles, and its coroutines provide lightweight asynchronous concurrency. The honest drawbacks: it still depends on the JVM’s garbage collector and startup overhead, the non-JVM targets are less mature, and compile times can lag Java’s. Its centre of gravity remains Android and JVM back-end work rather than general-purpose ubiquity.

Sources

  1. Kotlin (programming language) — Wikipedia, for history, origins, and Android adoption. 

  2. Kotlin programming language — official site, documentation, and the null-safety and multiplatform feature set.  2

See also