Type Erasure: How does it work? So the compiler is doing the type checking
8
Type Erasure vs. Inheritance How is inheritance handled?
9
How about List in Java?
10
Wildcards to the rescue! (really?)
11
Closures in Pizza
12
Closures Lambdas in Java
13
Closures in Scala
14
Partial Application in Scala
15
Pattern Matching in Pizza Just a switch on types already with deconstruction
16
Pattern Matching in Java
17
Conclusion
Description:
Explore how Java and Scala are incorporating functional programming concepts in this 50-minute conference talk from GOTO Copenhagen 2019. Dive into the journey of imperative languages adopting functional features, comparing Java's careful integration with Scala's approach. Learn about generics, type erasure, closures, lambdas, and pattern matching in both languages. Gain insights into the advantages of functional programming and how these two popular languages are evolving to combine imperative and functional paradigms. Discover the challenges and solutions in implementing features like wildcards, partial application, and inheritance in generic types. Understand the ongoing evolution of Java and Scala as they continue to learn from and adapt functional programming principles.
The Sincerest Form of Flattery - How Java & Scala are Imitating Functional Languages