Principles of functional programming with examples in Java and Haskell
summary
Compares object-oriented coupling to a functional split of data and behavior, demonstrates pure functions (deterministic, no side effects) with Java examples and Haskell snippets, shows immutability via Haskell reverse (original list unchanged) and argues for 90% pure / 10% effectful architecture for testability and concurrency. Implements optional results with Haskell’s Maybe type (Just vs Nothing) as a concrete fix to Java nulls and shows lookup returning Just 10 or Nothing.
AI-written summary · about
chapters (16)
- 0:00Start
- 0:48Lambda Calculus
- 2:18What Is Functional Programming
- 3:04Overview of the Object-Oriented Programming Principles
- 4:46Functional Programming Principles
- 5:05Imitability
- 5:47Examples of Languages
- 6:19Python
- 7:09What Are Pure Functions
- 7:20Pure Function Is Deterministic
- 9:07Examples of Pure Functions
- 14:01Functional Programming Is Not about Making Everything Pure and Immutable
- 15:56Immutability
- 16:31Numbers Are Immutable
- 20:31Pointer Reference Comparison
- 21:15Object-Oriented Programming
related talks
36mHow functional programming change my Java code
01h 06mThe Joy of Functional Programming
34mThe Hitchhiker Guide to Pure Functions and Immutable Objects
31mA Primer on Functional Programming
52mFunctional Programming with Java 8
46mDesigning Functional Programs
01h 44mFunctional Programming: Technical Reasons to Adapt
01h 02mHaskell for Java Programmers
