Effective Java with Groovy & Kotlin
summary
Shows concrete replacements for boilerplate: Groovy uses @EqualsAndHashCode, @Immutable and @Delegate AST transformations to generate equals/hashCode, final fields and delegation at compile time while Kotlin uses data class, nonnullable types and `by` delegation to get the same results. Demonstrates Groovy's null object that returns empty collections instead of NPEs and Kotlin's compile‑time nullable checks, compares collect/map/fold idioms, warns that compiler generated code beats IDE generation, and shows these features actually prevent common bugs.
AI-written summary · about
chapters (17)
- 0:00Introduction
- 1:19JVM as polyglot platform
- 2:25Effective Java’s influence
- 4:11Examples in Groovy/Kotlin
- 6:21Overriding equals in Groovy
- 12:45equals/hashCode in Kotlin
- 15:40Prefer internal iterators
- 18:50Null object pattern in Groovy
- 21:43Kotlin null safety
- 23:29Minimizing mutability in Groovy with AST transformations
- 26:44Immutable classes in Kotlin
- 28:32Composition over inheritance
- 31:21Kotlin delegation
- 32:46Compiler vs IDE code
- 34:33Idiomatic practices
- 35:36Learning languages improves Java
- 36:39Q&A
related talks
43mFrom Effective Java to Effective Kotlin
01h 03mHow Kotlin makes your Java code better
58mGroovy, Java, and Kotlin
49mAn Introduction to Kotlin
43mFunctional Programming in Java, Groovy, and Kotlin
01h 02mFunctional Programming in Java, Groovy, and Kotlin
01h 12mThe Power of JVM Language
32mFrom zero to a hundred with Kotlin
