OOP and FP - Complementary Techniques in Software Development
Offered By: Devoxx via YouTube
Course Description
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
Related Courses
Software as a ServiceUniversity of California, Berkeley via Coursera Software Testing
University of Utah via Udacity The Hardware/Software Interface
University of Washington via Coursera Software Debugging
Saarland University via Udacity Introduction to Systematic Program Design - Part 1
The University of British Columbia via Coursera