A modern JVM language.
WHAT IT IS
A statically typed language running on the same virtual machine as Java, and interoperating with it fully.
WHAT DISTINGUISHES IT
Far less verbose than Java Null safety in the type system Data classes, removing boilerplate Extension functions Coroutines for concurrency
WHAT NULL SAFETY MEANS
Types distinguish values that may be absent from those that may not, enforced at compile time.
WHY THAT MATTERS
It eliminates the commonest runtime error in Java, essentially entirely.
WHAT COROUTINES PROVIDE
Concurrency written sequentially, with very low cost per task.
WHAT IT IS USED FOR
Android development, where it is the preferred language Backend services Multiplatform projects sharing code across targets
WHAT INTEROPERABILITY MEANS PRACTICALLY
Existing Java code and libraries are usable directly, and adoption can be gradual.
WHAT THAT ENABLES
Introducing it into an existing system file by file.
WHAT IT COSTS
Another language for a team to know Slightly longer build times
WHO IT SUITS
Android teams, and JVM teams wanting less ceremony.