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.
Phil Calçado - SoundCloud@pcalcado
http://philcalcado.com
objects can still teach us one or two things.
Sunday, January 29, 12
http://bit.ly/work-at-soundcloud
Sunday, January 29, 12
(I will not talk about monads, scalaz, bifunctors or burritos)
Sunday, January 29, 12
with
Sunday, January 29, 12
we thought we would...
Sunday, January 29, 12
more like...
Sunday, January 29, 12
and then...
Sunday, January 29, 12
Sunday, January 29, 12
with
Sunday, January 29, 12
we think we can...
Sunday, January 29, 12
but what I see in the wild...
Sunday, January 29, 12
but what I see in the wild...
Sunday, January 29, 12
coupling
“cyclomatic complexity”no single responsibility
Sunday, January 29, 12
coupling
“cyclomatic complexity”no single responsibility
it’s just (bad) procedural code, really
Sunday, January 29, 12
that code was replaced by something like this
Sunday, January 29, 12
coupling
“cyclomatic complexity”no single responsibility
Sunday, January 29, 12
all old problems.
Sunday, January 29, 12
all old problems.
?Sunday, January 29, 12
coupling
“cyclomatic complexity”no single responsibility
composition!Sunday, January 29, 12
Sunday, January 29, 12
higher-order functionscombinators
partial applicationfunction composition
building blocks you need:
Sunday, January 29, 12
(I kinda lied)
Sunday, January 29, 12
all old problems.
?Sunday, January 29, 12
much older than we thought...
Sunday, January 29, 12
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
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