OOP and FP
Offered By: Devoxx via YouTube
Course Description
Overview
Explore the complementary nature of Object-Oriented Programming (OOP) and Functional Programming (FP) in this 52-minute Devoxx conference talk. Debunk common misconceptions about OOP and FP, understanding their strengths and how they can coexist in modern software development. Learn about polymorphism and encapsulation in OOP, as well as immutability and declarative style in FP. Discover how experienced developers can leverage both paradigms to choose the best approach for specific problems. Gain insights into topics such as decomposition, error management, and the differences between imperative and declarative programming styles. Examine practical examples comparing OOP and FP implementations, and understand key concepts like referential transparency and functional purity.
Syllabus
Intro
A world of false dichotomies
False dichotimies in software engineering
Functional Programming Myths
Definitions
What's the difference?
Biggest OOP advantage: Polymorphism
OOP vs FP Decomposition
OOP Decomposition
Which one is better?
Composition(?)
Biggest FP advantage: Immutability
(im)mutability - OOP vs FP
Referential transparency means no side-effects
OOP vs FP Error Management
Use Exception only Exceptionally
OOP: FP = Imperative: Declarative
OOP version
FP version 2
OOP - FP (false?) dichotomies
Threads vs (Completable)Future
Expressions vs Statements
Iteration vs Recursion
85% functional language purity
Key Takeaways
Taught by
Devoxx
Related Courses
Functional Programming Principles in ScalaÉcole Polytechnique Fédérale de Lausanne via Coursera Introduction à la programmation orientée objet (en Java)
École Polytechnique Fédérale de Lausanne via Coursera Functional Program Design in Scala
École Polytechnique Fédérale de Lausanne via Coursera Object-Oriented Programming
Indian Institute of Technology Bombay via edX Orientação a Objetos com Java
Instituto Tecnológico de Aeronáutica via Coursera