~/talk

The dark side of kotlin

Talkat GeeCON Prague 2023 · 2023-10-19..10-20· [kotlin]
slides:none on file

Kotlin is presented as a language that adds powerful abstractions but also sharp traps: declaration-site variance and null safety fix Java generics and NPE pain, context receivers enable ad hoc type‑class-style serialization, and Kotlin DSLs use operator overloading and Unicode tricks to produce concise JSON builders. Coroutines get repurposed to linearize chains (flatMap) which works but invites suspend misuse—compiled suspend functions return Objects so wrong runtime types slip past the compiler. Use Detekt/linters to forbid or isolate these patterns.

AI-written summary · about

  1. 0:00Introduction and speaker background
  2. 1:14What is abstraction and why we need it
  3. 7:00Abstraction failures in Java
  4. 9:29Kotlin as a better Java alternative
  5. 10:11Kotlin’s expressive power and syntax
  6. 12:58Generics and variance in Kotlin
  7. 14:44Function types and lambdas in Kotlin
  8. 17:14Operator overloading in Kotlin
  9. 20:53Trailing lambdas and DSLs
  10. 24:06Method references and syntax quirks
  11. 26:36JSON DSL with Kotlin
  12. 29:02Context receivers and type classes
  13. 32:55Polymorphism and JSON serialization
  14. 38:55Reactive programming and Either type
  15. 41:45Abusing coroutines for readability
  16. 45:38Type safety and Kotlin linters
  17. 47:46Functional programming in Kotlin
  18. 49:10Language flexibility and trade-offs
  19. 50:34Summary and closing remarks
  20. 51:39Q&A: Virtual threads vs suspend
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.