YoVDO

OOP and FP - Complementary Techniques in Software Development

Offered By: Devoxx via YouTube

Tags

Devoxx Courses Software Development Courses Object-oriented programming Courses Functional Programming Courses Polymorphism Courses Encapsulation Courses Immutability 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 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

Functional Programming Principles in Scala
École Polytechnique Fédérale de Lausanne via Coursera
Functional Program Design in Scala
École Polytechnique Fédérale de Lausanne via Coursera
Paradigms of Computer Programming
Université catholique de Louvain via edX
Introduction to Functional Programming
Delft University of Technology via edX
Paradigms of Computer Programming – Fundamentals
Université catholique de Louvain via edX