The Sincerest Form of Flattery - How Java & Scala are Imitating Functional Languages
Offered By: GOTO Conferences via YouTube
Course Description
Overview
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.
Syllabus
Intro
Functional Programming: Elegant, Mathematically Sound
Object-Oriented Languages: Successful but Envious
Java Ate Pizza in Three Courses
Generics - Stating the problems
Type Erasure in Generic Java
Type Erasure: How does it work? So the compiler is doing the type checking
Type Erasure vs. Inheritance How is inheritance handled?
How about List in Java?
Wildcards to the rescue! (really?)
Closures in Pizza
Closures Lambdas in Java
Closures in Scala
Partial Application in Scala
Pattern Matching in Pizza Just a switch on types already with deconstruction
Pattern Matching in Java
Conclusion
Taught by
GOTO Conferences
Related Courses
Functional Programming Principles in ScalaÉcole Polytechnique Fédérale de Lausanne via Coursera Functional Program Design in Scala
École Polytechnique Fédérale de Lausanne via Coursera Parallel programming
École Polytechnique Fédérale de Lausanne via Coursera Big Data Analysis with Scala and Spark
École Polytechnique Fédérale de Lausanne via Coursera Functional Programming in Scala Capstone
École Polytechnique Fédérale de Lausanne via Coursera