Overview
Explore the philosophical underpinnings of functional programming and its relationship to object-oriented programming in this thought-provoking conference talk from Scala Days New York 2016. Delve into the concept of programming paradigms as revolutions, drawing parallels with Thomas Kuhn's "The Structure of Scientific Revolutions." Examine the core values and assumptions of functional programming, contrasting them with those of object-oriented programming. Gain insights into the challenges of transitioning between paradigms and the mindset required for productive Scala development. Investigate the functional programming paradigm's emphasis on simplicity, substitution, and design patterns. Consider whether reconciliation between functional and object-oriented approaches is possible, and reflect on the broader implications for the evolution of programming methodologies.
Syllabus
Introduction
ObjectOriented vs Functional Programming
The 60s
The structure of scientific revolutions
The structure of instructional revolutions
The functional programming revolution
The functional programming paradigm
What is the functional programming paradigm
ObjectOriented Programming
Simplicity
At all scales
At the low level
Substitution
Pseudocode
Type erasure
Shapeless
Summary
Design Patterns
Strategy
Paradigm
Conclusions
Conclusion
Podcast
Questions
Taught by
Scala Days Conferences