~/talk

The dark side of kotlin

Talkat Voxxed Days Zürich 2024 · on Thursday, 2024-03-07· [kotlin]
slides:none on file

Covers concrete pitfalls: Kotlin enables powerful DSLs (JSON, REST routing) via operator overloading and last-lambda-outside-braces syntax but that creates gotchas (method-reference vs lambda, single-arg implicit it) and even Unicode tricks like using an invisible Mongolian character to fake punctuation. Coroutines get misused to replace nested flatMap flows (coroutines used to implement flatMap), suspend propagation makes many functions “suspend” and compiler/bytecode can erase return types so suspend functions return Any at bytecode; recommends using the detekt linter to forbid risky patterns.

AI-written summary · about

  1. 0:00Welcome
  2. 1:49Abstraction in programming
  3. 6:03Abstraction investment failures
  4. 6:27HashMap leaky abstraction
  5. 9:43Kotlin vs Java
  6. 10:47Kotlin features beyond Java
  7. 11:51Type inference with VAR
  8. 13:19Easier generics
  9. 14:01Function types and lambdas
  10. 17:36Inheriting function types
  11. 18:40Operator overloading
  12. 20:43Lambda syntax quirks
  13. 23:13If expressions and lambdas
  14. 24:59Kotlin baptism
  15. 28:08DSLs with Kotlin
  16. 33:11Deserialization with interfaces
  17. 35:37Type classes
  18. 38:46FlatMap with coroutines
  19. 41:57Coroutines problems
  20. 42:18Coroutines type safety
  21. 44:05Linters for Kotlin
  22. 45:07Changing the language
~/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.