1
Extremist Programming
LRUG lightning talks
11 February 2013
Pablo Brasero Moreno
(Google me up: pablobm)
Slide 2
Slide 2 text
2
“Extremist programming (no
relation to extreme programming)
is the act of taking some
principle, elevating it above
everything else and applying it
everywhere”
– Edward Z. Yang
Slide 3
Slide 3 text
3
●
Arrays are awesome. What if we
made a programming language where
everything was an array?
●
...
●
X is awesome. What if we made a Y
where everything was made up of X?
Slide 4
Slide 4 text
4
Anyone from Bell Labs in the room?
Thought so
Slide 5
Slide 5 text
5
Designing new programming languages
and operating systems is great, really.
But that's not how I spend my time
Slide 6
Slide 6 text
6
We can apply this to what we know
Say: what are your views on testing?
Slide 7
Slide 7 text
7
I'm sure you have an opinion, and can
debate it at length (because everyone
else is in fact wrong, aren't they?)
But how many people have tried
TESTING EVERYTHING
FOR REAL?
Yes, I mean
you over there
Yes, I mean
you over there
Slide 8
Slide 8 text
8
I took the extremist route
100% code coverage and beyond
(Don't do this without adult supervision)
Slide 9
Slide 9 text
9
EXPERIENCE
Good judgement comes from experience
Experience comes from bad judgement
Slide 10
Slide 10 text
10
Not only for
Bell Labs Driven Development
Hereinafter BLDD.
There, I invented
a term
Hereinafter BLDD.
There, I invented
a term
Not only for programming either
This applies to many other aspects of
development
Slide 11
Slide 11 text
11
From the producers who brought you
“Things you love to hate”
comes:
“Is Comic Sans really that bad?”
Slide 12
Slide 12 text
12
Yeah: is Comic Sans really that bad?
Or do we think so because we have
been conditioned by our peers?
Let's find out
the extremist programmer way
Slide 13
Slide 13 text
13
● Browser set to Comic Sans? CHECK
● Text editor set to Comic Sans? CHECK
● Terminal set to Comic Sans? CHECK
● Helmet? CHECK
RELEASE
THE KRAKEN!!!1
Slide 14
Slide 14 text
14
Extremist environments
Ever tried working
without Internet access?
Go give it a try
Slide 15
Slide 15 text
15
Not the same as enforcing
absurd coding standards and practices
if isValid == true
“I don't care how you agilists
do it, but here we do it like this”
Are you, like
REALLY sure
that it's true?
Are you, like
REALLY sure
that it's true?
Actual client
Actual client
Actual quote
Actual quote
Actual corp
(well known)
Actual corp
(well known)
Not a
well-meaning
remark
Not a
well-meaning
remark
Slide 16
Slide 16 text
16
Or embracing new fashionable
technologies blindly
for actual client projects
●
Node.js
●
MongoDB
●
Perpetual motion machines
May as well...
Slide 17
Slide 17 text
17
Not Extremist Programming
More like...
Loose Cannon
Programming
Extremist Programming should be a
voluntary choice where the risks are
understood
LCP – term coined by
my colleague
Lee Machin
LCP – term coined by
my colleague
Lee Machin
Slide 18
Slide 18 text
18
The aim?
To boldly go where no one
has gone before
And hopefully learn something
in the process!
Split infinitive
FTW!
Split infinitive
FTW!
Slide 19
Slide 19 text
19
In summary:
You cannot learn from
the experience of others
Only by breaking the rules you can
know if they serve a useful purpose
Slide 20
Slide 20 text
20
One last thing
I would like to hear similar stories:
buy me a drink at the pub }:-)
(ok, I may buy a round myself)
Or post it on Twitter:
#extremistProgramming
#extremistProgramming
Slide 21
Slide 21 text
21
That's 6 minutes and 40 seconds
Thanks
Pablo Brasero Moreno
(Google me up: pablobm)
#extremistProgramming
#extremistProgramming