Berlin-Brandenburg Scala User Group: objects can still teach us one or two things.
-
Upload
phil-calcado -
Category
Technology
-
view
1.286 -
download
1
description
Transcript of Berlin-Brandenburg Scala User Group: objects can still teach us one or two things.
![Page 1: Berlin-Brandenburg Scala User Group: objects can still teach us one or two things.](https://reader033.fdocuments.in/reader033/viewer/2022052618/554d9c0bb4c905525e8b4af0/html5/thumbnails/1.jpg)
Phil Calçado - SoundCloud@pcalcado
http://philcalcado.com
objects can still teach us one or two things.
Sunday, January 29, 12
![Page 2: Berlin-Brandenburg Scala User Group: objects can still teach us one or two things.](https://reader033.fdocuments.in/reader033/viewer/2022052618/554d9c0bb4c905525e8b4af0/html5/thumbnails/2.jpg)
http://bit.ly/work-at-soundcloud
Sunday, January 29, 12
![Page 3: Berlin-Brandenburg Scala User Group: objects can still teach us one or two things.](https://reader033.fdocuments.in/reader033/viewer/2022052618/554d9c0bb4c905525e8b4af0/html5/thumbnails/3.jpg)
(I will not talk about monads, scalaz, bifunctors or burritos)
Sunday, January 29, 12
![Page 4: Berlin-Brandenburg Scala User Group: objects can still teach us one or two things.](https://reader033.fdocuments.in/reader033/viewer/2022052618/554d9c0bb4c905525e8b4af0/html5/thumbnails/4.jpg)
with
Sunday, January 29, 12
![Page 5: Berlin-Brandenburg Scala User Group: objects can still teach us one or two things.](https://reader033.fdocuments.in/reader033/viewer/2022052618/554d9c0bb4c905525e8b4af0/html5/thumbnails/5.jpg)
we thought we would...
Sunday, January 29, 12
![Page 6: Berlin-Brandenburg Scala User Group: objects can still teach us one or two things.](https://reader033.fdocuments.in/reader033/viewer/2022052618/554d9c0bb4c905525e8b4af0/html5/thumbnails/6.jpg)
more like...
Sunday, January 29, 12
![Page 7: Berlin-Brandenburg Scala User Group: objects can still teach us one or two things.](https://reader033.fdocuments.in/reader033/viewer/2022052618/554d9c0bb4c905525e8b4af0/html5/thumbnails/7.jpg)
and then...
Sunday, January 29, 12
![Page 8: Berlin-Brandenburg Scala User Group: objects can still teach us one or two things.](https://reader033.fdocuments.in/reader033/viewer/2022052618/554d9c0bb4c905525e8b4af0/html5/thumbnails/8.jpg)
Sunday, January 29, 12
![Page 9: Berlin-Brandenburg Scala User Group: objects can still teach us one or two things.](https://reader033.fdocuments.in/reader033/viewer/2022052618/554d9c0bb4c905525e8b4af0/html5/thumbnails/9.jpg)
with
Sunday, January 29, 12
![Page 10: Berlin-Brandenburg Scala User Group: objects can still teach us one or two things.](https://reader033.fdocuments.in/reader033/viewer/2022052618/554d9c0bb4c905525e8b4af0/html5/thumbnails/10.jpg)
we think we can...
Sunday, January 29, 12
![Page 11: Berlin-Brandenburg Scala User Group: objects can still teach us one or two things.](https://reader033.fdocuments.in/reader033/viewer/2022052618/554d9c0bb4c905525e8b4af0/html5/thumbnails/11.jpg)
but what I see in the wild...
Sunday, January 29, 12
![Page 12: Berlin-Brandenburg Scala User Group: objects can still teach us one or two things.](https://reader033.fdocuments.in/reader033/viewer/2022052618/554d9c0bb4c905525e8b4af0/html5/thumbnails/12.jpg)
but what I see in the wild...
Sunday, January 29, 12
![Page 13: Berlin-Brandenburg Scala User Group: objects can still teach us one or two things.](https://reader033.fdocuments.in/reader033/viewer/2022052618/554d9c0bb4c905525e8b4af0/html5/thumbnails/13.jpg)
coupling
“cyclomatic complexity”no single responsibility
Sunday, January 29, 12
![Page 14: Berlin-Brandenburg Scala User Group: objects can still teach us one or two things.](https://reader033.fdocuments.in/reader033/viewer/2022052618/554d9c0bb4c905525e8b4af0/html5/thumbnails/14.jpg)
coupling
“cyclomatic complexity”no single responsibility
it’s just (bad) procedural code, really
Sunday, January 29, 12
![Page 15: Berlin-Brandenburg Scala User Group: objects can still teach us one or two things.](https://reader033.fdocuments.in/reader033/viewer/2022052618/554d9c0bb4c905525e8b4af0/html5/thumbnails/15.jpg)
that code was replaced by something like this
Sunday, January 29, 12
![Page 16: Berlin-Brandenburg Scala User Group: objects can still teach us one or two things.](https://reader033.fdocuments.in/reader033/viewer/2022052618/554d9c0bb4c905525e8b4af0/html5/thumbnails/16.jpg)
coupling
“cyclomatic complexity”no single responsibility
Sunday, January 29, 12
![Page 17: Berlin-Brandenburg Scala User Group: objects can still teach us one or two things.](https://reader033.fdocuments.in/reader033/viewer/2022052618/554d9c0bb4c905525e8b4af0/html5/thumbnails/17.jpg)
all old problems.
Sunday, January 29, 12
![Page 18: Berlin-Brandenburg Scala User Group: objects can still teach us one or two things.](https://reader033.fdocuments.in/reader033/viewer/2022052618/554d9c0bb4c905525e8b4af0/html5/thumbnails/18.jpg)
all old problems.
?Sunday, January 29, 12
![Page 19: Berlin-Brandenburg Scala User Group: objects can still teach us one or two things.](https://reader033.fdocuments.in/reader033/viewer/2022052618/554d9c0bb4c905525e8b4af0/html5/thumbnails/19.jpg)
coupling
“cyclomatic complexity”no single responsibility
composition!Sunday, January 29, 12
![Page 20: Berlin-Brandenburg Scala User Group: objects can still teach us one or two things.](https://reader033.fdocuments.in/reader033/viewer/2022052618/554d9c0bb4c905525e8b4af0/html5/thumbnails/20.jpg)
Sunday, January 29, 12
![Page 21: Berlin-Brandenburg Scala User Group: objects can still teach us one or two things.](https://reader033.fdocuments.in/reader033/viewer/2022052618/554d9c0bb4c905525e8b4af0/html5/thumbnails/21.jpg)
higher-order functionscombinators
partial applicationfunction composition
building blocks you need:
Sunday, January 29, 12
![Page 22: Berlin-Brandenburg Scala User Group: objects can still teach us one or two things.](https://reader033.fdocuments.in/reader033/viewer/2022052618/554d9c0bb4c905525e8b4af0/html5/thumbnails/22.jpg)
(I kinda lied)
Sunday, January 29, 12
![Page 23: Berlin-Brandenburg Scala User Group: objects can still teach us one or two things.](https://reader033.fdocuments.in/reader033/viewer/2022052618/554d9c0bb4c905525e8b4af0/html5/thumbnails/23.jpg)
all old problems.
?Sunday, January 29, 12
![Page 24: Berlin-Brandenburg Scala User Group: objects can still teach us one or two things.](https://reader033.fdocuments.in/reader033/viewer/2022052618/554d9c0bb4c905525e8b4af0/html5/thumbnails/24.jpg)
much older than we thought...
Sunday, January 29, 12
![Page 25: Berlin-Brandenburg Scala User Group: objects can still teach us one or two things.](https://reader033.fdocuments.in/reader033/viewer/2022052618/554d9c0bb4c905525e8b4af0/html5/thumbnails/25.jpg)
tl;dr
=> it’s not because you are not in object-land that you can drop minimally good practices=> just using the basic blocks of functional programming gives you a lot=> after a while using these you see patterns emerging. and you understand why monads and friends exist. promise :)
Sunday, January 29, 12
![Page 26: Berlin-Brandenburg Scala User Group: objects can still teach us one or two things.](https://reader033.fdocuments.in/reader033/viewer/2022052618/554d9c0bb4c905525e8b4af0/html5/thumbnails/26.jpg)
Basic Category Theory for Computer Scientists: http://amzn.to/xxeVUC
Theorems for free!: http://bit.ly/Theorems-for-free
The Essence of Functional Programming: http://bit.ly/the-essence-of-FP
Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire: http://bit.ly/FP-with-Bananas-Lenses-Envelopes-and-Barbed-Wire
Sunday, January 29, 12