Inside Kotlin: Disassembling Features into Bytecode
2024-11-29 , Right Stage

Kotlin is widely recognized for its robust safety features, expressive syntax, and the overall enjoyment it brings to developers. Beneath these attributes lies a sophisticated compilation process and a set of underlying JVM mechanisms that are fundamental to the language’s operation. This talk offers an intermediate-level exploration of these processes, revealing the intricate workings that enable Kotlin's high-level features.

By examining how Kotlin's language constructs are translated into bytecode, we’ll analyze the inner workings of the language. This exploration isn't just about understanding Kotlin's syntax — it's about gaining insight into the design principles and technicalities of the language.

We'll analyze the following features:
- Extension functions
- Nullity Checks & Safety Operators
- Companion objects
- Backing Fields
- Reified generics & variances
- Value classes
- Function Contracts
- Delegation
- Tail recursion

Attendees will learn how these compiler-level concepts influence the Kotlin development experience, enabling them to write more intentional and specific coding practices. By exploring the gap between Kotlin’s abstractions and the JVM’s execution, this talk will provide practical knowledge that enhances both development and debugging practices.

Android Developer, Software Engineer, MSc Student in Cybersecurity