YoVDO

OOP and FP

Offered By: Devoxx via YouTube

Tags

Devoxx Courses Object-oriented programming Courses Software Engineering Courses Functional Programming Courses Polymorphism Courses Encapsulation Courses Immutability Courses Referential Transparency Courses

Course Description

Overview

Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
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

Software Construction in Java
Massachusetts Institute of Technology via edX
String, StringBuffer & StringBuilder for JAVA Interviews
Udemy
Learning Functional Programming with Swift
LinkedIn Learning
Reactive Programming with Spring Framework 5
Udemy
Working with C# Records
Pluralsight