Overview
Explore the complementary nature of Object-Oriented Programming (OOP) and Functional Programming (FP) in this insightful 51-minute conference talk from Devoxx. Debunk common misconceptions about both paradigms and discover how they can coexist harmoniously in modern software development. Learn about the core strengths of OOP, including polymorphism and encapsulation, alongside FP's focus on immutability and declarative style. Gain a deeper understanding of message passing in OOP, decomposition techniques in both paradigms, and how to effectively manage errors. Compare imperative and declarative approaches, and examine different versions of functional programming implementation. Equip yourself with the knowledge to choose the right tools for specific programming challenges, ultimately enhancing your ability to create efficient and maintainable code.
Syllabus
Intro
A world of false dichotomies
False dichotimies in software engineering
OOP == Message Passing
Functional Programming Myths
Definitions
What's the difference?
Biggest OOP advantage: Polymorphism
OOP vs FP Decomposition
OOP Decomposition
Composition(?)
Biggest FP advantage: Immutability
Referential transparency means no side-effects
OOP vs FP Error Management
OOP: FP = Imperative: Declarative
FP version 1
FP version 2
85% functional language purity
Taught by
Devoxx