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

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