Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Unlearn OOP (if you want to learn FP)
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Uberto Barbini
November 29, 2019
Programming
350
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Unlearn OOP (if you want to learn FP)
Keynote at the Italian Kolin Community Conference 2019
Uberto Barbini
November 29, 2019
More Decks by Uberto Barbini
See All by Uberto Barbini
Are Developers Obsolete?
ramtop
0
190
Handling Json in Functional Way in Kotlin
ramtop
0
37
Earthquake and Kominka
ramtop
0
280
Let's Put the Fun Back in Functional Programming
ramtop
0
220
Error Handling and Logging in a Functional World
ramtop
0
780
Future Java: Project Valhalla LW2
ramtop
0
170
Quarkus.io + Kotlin = Supersonic Kotlin
ramtop
0
410
Microservices From The Trenches
ramtop
1
170
4 Rules of Simple Design in Functional Programming
ramtop
0
98
Other Decks in Programming
See All in Programming
Go言語とトイモデルで学ぶTransformerの気持ち / fukuokago23-transformer
monochromegane
0
140
The Bowling Game- From Imperative to Functional Programming - Part 1
philipschwarz
PRO
0
340
AI時代、エンジニアはどう育つのか -未経験エンジニアの成長を間近で見て考えたこと-
thasu0123
0
150
yield再入門 #phpcon
o0h
PRO
0
740
自作OSでスライド発表する
uyuki234
1
3.9k
分散システム、なんですぐ死んでしまうん?耐障害性を高めたいあなたのためのレジリエンスパターン入門
mshibuya
7
6.8k
ITヒヤリハットを整理してみた ~ライフサイクルと原因から考える再発防止策~
koukimiura
1
110
継続モナドとリアクティブプログラミング
yukikurage
3
640
関数型プログラミングのメリットって何だろう?
wanko_it
0
190
Generative UI & AI-Assistants for Your Angular Solutions
manfredsteyer
PRO
0
120
SLOをサービス品質の共通言語にするために 取り組んできたこと
wakana0222
0
550
コーディングルールの鮮度を保ちたい for SRE NEXT 2026 / keep-fresh-go-internal-conventions-sre-next-2026
handlename
0
150
Featured
See All Featured
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
280
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.9k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
980
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.2k
Code Reviewing Like a Champion
maltzj
528
40k
HDC tutorial
michielstock
2
750
Product Roadmaps are Hard
iamctodd
55
12k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.8k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.5k
Context Engineering - Making Every Token Count
addyosmani
9
1k
Docker and Python
trallard
47
4k
Building AI with AI
inesmontani
PRO
1
1.1k
Transcript
Unlearn Object Oriented Programming (if you want to learn Functional
Programming) Uberto Barbini ramtop @
When I was a kid I wanted to become a
Naturalist
I kept reading books about Natural Sciences
I kept reading books about Natural Sciences
I kept reading books about Natural Sciences
Classification was simple...
Then Cladistic arrived... Common ancestors
And birds became dinosaurs!
We are all fish, technically
Scientists are humans...
None
https://pixabay.com/users/endriqstudio-13819715/ https://pixabay.com/users/endriqstudio-13819715/
It’s not easy to Unlearn
None
https://pixabay.com/users/sasint-3639875/ https://pixabay.com/users/sasint-3639875/ Object Oriented vs Functional
None
None
None
None
None
None
Thou Shalt Have No Manager Class
None
None
None
None
None
Credits https://pixabay.com/users/sasint-3639875/ Credits https://pixabay.com/users/sasint-3639875/ The Elephant in the room
None
Object-Oriented Functional
Url Shortener
Url Shortener
Unlearn What seems What seems wrong wrong but it’s but
it’s right right? ? What seems What seems right right but it’s but it’s wrong wrong? ?
None
Well Defined Types
None
Generics are Type builders
None
Anemic Objects Immutable Data
None
Don’t use Exceptions as result
None
Side effects should be left out
None
Function types instead of Interfaces
None
Which Language or Library should I use?
The ones that spark joy!
Where should I start in an existing Legacy Project?
https://pixabay.com/users/1588877-1588877/ Small changes
None
Unlearn is difficult Functional Programming is made of Arrows Look
at your code with new eyes (plus we are fish)
Excuses to avoid learning FP: It’s just a bunch of
funny words I don’t have time What’s the point?
Tell me your Questions! Uberto Barbini @ramtop Blog https://medium.com/@ramtop Book:
https://tinyurl.com/funkotlinbook