Kotlin se compila con el mismo código de bytes que Java en la JVM, por lo que puede llamar a las bibliotecas Java desde Kotlin y Kotlin desde Java sin código adhesivo. La biblioteca estándar agrega operaciones de estilo funcional en colecciones, funciones de alcance y corrutinas, pero el lenguaje en sí es pequeño y obstinado: inmutabilidad con val, tipos anulables en el sistema de tipos y clases de datos para agregados simples.
Aún necesita un JDK en su máquina para desarrollar para JVM; el compilador de Kotlin se basa en él para las API de Java estándar y para producir código de bytes de JVM. En la práctica, Gradle o Maven descargan el complemento y el compilador de Kotlin por usted; IntelliJ ofrece un amplio soporte: navegación, refactorización y depuración en Java y Kotlin en un solo proyecto.