Why Kotlin, and Interop First
A second JVM language that speaks fluent Java.
Kotlin's superpower for a Java developer is that it isn't a rewrite - it compiles to the same bytecode and calls Java (and is called from Java) seamlessly, so you adopt it one file at a time. The pragmatic case for Kotlin, compiling it alongside Java, calling each way with the interop annotations, the toolchain, and how a real team introduces it into an existing Java codebase.
Lessons in this stage
- 01
Why Kotlin?
IntermediateWhat Kotlin is, why a Java developer would learn it - concise, null-safe, a first-class JVM citizen - and an honest scope: this is backend Kotlin, not Android.
13 min - 02
Compiling Alongside Java
IntermediateKotlin and Java files coexist in one project, compiled to the same JVM bytecode. The Kotlin compiler, the Gradle plugin, and what a .kt file becomes under the hood.
14 min - 03
Calling Java from Kotlin
IntermediateKotlin consumes your existing Java libraries with zero glue - and 'platform types' are how it handles Java's lack of nullability information at the boundary.
14 min - 04
Calling Kotlin from Java
AdvancedThe other direction, which needs a little care: @JvmStatic, @JvmOverloads, and @JvmName control how Kotlin's features (default args, companions, top-level functions) appear to Java.
14 min - 05
The Kotlin Toolchain
BeginnerRunning Kotlin: the Gradle Kotlin DSL, the standard library that replaces much of Guava/Apache Commons, the REPL and scripts, and how a Kotlin project is laid out.
12 min - 06
Adopting Kotlin Pragmatically
IntermediateHow real teams introduce Kotlin into a Java codebase - one new file, one test, one module at a time - what it fixes, what it doesn't, and when 'Java + Kotlin' is the right call.
13 min