Kotlin vs Java

JVM.

Overview

Kotlin and Java are the two main JVM languages with very different ergonomics. Kotlin is modern (null safety in the type system, data classes, coroutines, concise syntax); Java is the long-standing incumbent (huge ecosystem, decades of production knowledge, modern features arriving every release). The right answer depends on whether modern ergonomics or ecosystem maturity matters more for the codebase.

The approach

Workload-driven choice, per-team operational fit considered, documented rationale per codebase. The discipline is making the language choice once per codebase with a written reason rather than mixing both languages within the same module.

Why this compounds

The right JVM language compounds across years. Code patterns and team expertise align with the language; cross-codebase tooling (build, test, deploy) gets reused. By year two the language choice is automatic per codebase.