SlideShare a Scribd company logo
1 of 38
Download to read offline
A change
in perspective
Gustavo Giráldez & Santiago Palladino
xkcd #353
Learning, rather than solving, is the
measure of exhilaration
Rock-Paper-Shotgun, A Good Puzzle Game Is Hard To Build, 2015
Indie Dev Stories, Game Theory Applied: the puzzle of designing a puzzle game, 2012
Puzzles are essentially problem solving
tasks. And these kinds of tasks are
appealing to our human brains.
Jaime Zawinski, Coders at Work, 2009
[I enjoy] the problem-solving aspect of
[programming], I guess. Just figuring out how to
get from point A to point B— how to make the
machine do what you want. That’s the basic
element that the satisfaction of programming
comes from.
Rock-Paper-Shotgun, A Good Puzzle Game Is Hard To Build, 2015
A good puzzle is elegant and often
minimal.
A puzzle should know what the point
is, what it’s trying to illustrate to you.
Rock-Paper-Shotgun, A Good Puzzle Game Is Hard To Build, 2015
When I’m excited playing puzzle
games it’s because each new puzzle is
forcing me to understand something
new about the mechanics of the world
I’m taking part in.
Rock-Paper-Shotgun, A Good Puzzle Game Is Hard To Build, 2015
If you can go through the motions and
apply the same sort of thought process
and solve every level, then, that can be
engaging, but I don’t think it’s very
interesting.
Alan Kay, Talk at Creative Think Seminar, 1982
A change in perspective is worth 80
IQ points
Simon Peyton Jones, Coders at Work, 2009
The most depressing thing about life as a
programmer is if you’re faced with a chunk of
code that either someone else wrote or, worse
still, you wrote yourself but you no longer dare
to modify. That’s depressing.
Brad Fitzpatrick, Coders at Work, 2009
Maybe there are so many layers of
abstraction that people don’t know what the hell
is going on underneath because the computers
are so damn fast that it hides your stupidity.
Simon Peyton Jones, Coders at Work, 2009
Systems are filled with so much goop [...] And
each of them has a fat book that describes it.
There’s a lot of stuff you need to just have in
your head. It’s like learning a language—a
human language—there’s a large vocabulary.
For me, that’s no fun.
Simon Peyton Jones, Coders at Work, 2009
I really think [programming] is a funny
medium because it’s so malleable. You can do
virtually anything with it. But that means you
can build ugly things as well as beautiful things
and things that will be completely
unmaintainable and un-durable.
Edsger W. Dijkstra, How do we tell truths that might hurt, 1975
Simplicity is prerequisite for reliability.
Tony Hoare, The Emperor’s Old Clothes, Turing Award Lecture, 1980
There are two ways of constructing a software
design: One way is to make it so simple that
there are obviously no deficiencies, and the
other way is to make it so complicated that
there are no obvious deficiencies.
The first method is far more difficult.
Sir
Rich Hickey, RailsConf 2012 Keynote Speech, 2012
Simplicity is hard work. But, there's a huge
payoff. The person who has a genuinely
simpler system - a system made out of
genuinely simple parts, is going to be able to
affect the greatest change with the least work.
He's going to kick your ass.
Easy
Near to our understanding
Familiar
Relative
Subjective
Rich Hickey, Simple made easy, Strange Loop conference, 2011
Simple
One fold, one role, one task
About lack of interleaving,
not lack of cardinality
Objective
Simon Peyton Jones, Coders at Work, 2009
Unless some people are working on radical
and elegant things you’re going to end up in a
local optimum, incrementally optimizing the
mainstream but stuck on a low hill.
Paul Graham, Beating the Averages, 2001
The Blub Paradox
Ben Moseley, Peter Marks, Out of the tar pit, 2006
Power corrupts. [...] The more powerful a
language (i.e. the more that is possible within
the language), the harder it is to understand
systems constructed in it.
John Carmack, 2001
If you're willing to restrict the flexibility of your
approach, you can almost always do something
better.
Peter Deutsch, Coders at Work, 2009
Every programming language today that I can
think of, that’s in substantial use, has the
concept of pointer. I don’t know of any way to
make software built using that fundamental
concept qualitatively better.
Joe Armstrong, Coders at Work, 2009
The problem with object- oriented languages
is they’ve got all this implicit environment that
they carry around with them. You wanted a
banana but what you got was a gorilla holding
the banana and the entire jungle.
John Carmack, Twitter, 2011
Sometimes, the elegant implementation is just
a function. Not a method. Not a class. Not a
framework. Just a function.
Simon Peyton Jones, Coders at Work, 2009
Functional programming has a lot to offer.
Fundamentally it enables you to build more
robust structures. Structures that are easier to
comprehend and test and reason about.
Michael Feathers, Twitter, 2010
Object oriented programming makes code
understandable by encapsulating moving parts.
Functional programming makes code
understandable by minimizing moving parts.
Rich Hickey, “Clojure, made simple”, 2015
Our fundamental construct, the object,
conflates two things, it doesn’t give us two
separate ways to talk about processes, for
which objects are an OK approach, and
information, for which they are a terrible
approach.
Rich Hickey, The Value of Values, 2012
All that specificity kills your reuse
Alan Perlis, Epigrams on Programming, 1982
It is better to have 100 functions
operate on one data structure than 10
functions on 10 data structures.
Rich Hickey, The Value of Values, 2012
What is a Fact? Place where information is
stored. There is a place for every bit of
information. Facts have operations, e.g. get
and set. Operations control how facts can
change. To convey a fact, convey its location.
</sarcasm>
Rich Hickey, “Clojure, made simple”, 2015
We are the stewards of the world’s
information. And information is just data. Is not
a complex thing. Is not an elaborate thing. It’s a
simple thing, until we programmers start
touching it.
Tomek Borek, Why bother with FP?, Lambda Days, 2015
Papers: Yes
Studies: No
Kernighan and Ritchie, The C Programming Language, 1978
The only way to learn a new programming
language is by writing programs in it.
Brad Fitzpatrick, Coders at Work, 2009
You never learn something until you have to
write something in it, until you have to live and
breathe it. It’s one thing to go learn a language
for fun, but until you write some big, complex
system in it, you don’t really learn it.
Alan Kay, Meeting at PARC, 1971
Don't worry about what anybody else is going
to do. The best way to predict the future is to
invent it.
Simon Peyton Jones, Coders at Work, 2009
Part of what makes programming fun is trying
to write programs that have an intellectual
integrity to them. I think a good attribute of a
good programmer, is they try to find a beautiful
solution.
R. Buckminster Fuller, 1895-1983
When I am working on a problem I never think
about beauty. I think only how to solve the
problem. But when I have finished, if the
solution is not beautiful, I know it is wrong.
References
● Rich Hickey, The value of values
● Tomek Borek, Why bother with FP?
● Rich Hickey, Simple made easy
● Peter Seibel, Coders at Work
● Moseley & Marks, Out of the tar pit
● Marsh Davies, A good puzzle game is hard to build

More Related Content

Similar to A change in perspective

Secrets of a Great Presentation
Secrets of a Great PresentationSecrets of a Great Presentation
Secrets of a Great Presentation
John Wm. Watson
 
Plan B Studio: Silicon Beach 2013
Plan B Studio: Silicon Beach 2013Plan B Studio: Silicon Beach 2013
Plan B Studio: Silicon Beach 2013
Plan-B Studio
 

Similar to A change in perspective (20)

30% faster coder on-boarding when you have a code cookbook
30% faster coder on-boarding when you have a code cookbook30% faster coder on-boarding when you have a code cookbook
30% faster coder on-boarding when you have a code cookbook
 
Building Social Software for the Anti-Social: Part I
Building Social Software for the Anti-Social: Part IBuilding Social Software for the Anti-Social: Part I
Building Social Software for the Anti-Social: Part I
 
Intro Class.pptx
Intro Class.pptxIntro Class.pptx
Intro Class.pptx
 
JDD2014: Game of Throneware, or how not to get killed when a developer become...
JDD2014: Game of Throneware, or how not to get killed when a developer become...JDD2014: Game of Throneware, or how not to get killed when a developer become...
JDD2014: Game of Throneware, or how not to get killed when a developer become...
 
prompt engineering gdsc sirt
prompt engineering gdsc sirtprompt engineering gdsc sirt
prompt engineering gdsc sirt
 
prompt engineering gdsc sirt
prompt engineering gdsc sirtprompt engineering gdsc sirt
prompt engineering gdsc sirt
 
Going Pro
Going ProGoing Pro
Going Pro
 
Steve Jobs y sus presentaciones en público
Steve Jobs y sus presentaciones en públicoSteve Jobs y sus presentaciones en público
Steve Jobs y sus presentaciones en público
 
The Presentation Secrets Of Stevejobs
The Presentation Secrets Of StevejobsThe Presentation Secrets Of Stevejobs
The Presentation Secrets Of Stevejobs
 
Steve Jobs: How To Speak To Audiences
Steve Jobs:  How To Speak To AudiencesSteve Jobs:  How To Speak To Audiences
Steve Jobs: How To Speak To Audiences
 
Secrets of a Great Presentation
Secrets of a Great PresentationSecrets of a Great Presentation
Secrets of a Great Presentation
 
Simplicty Appreciation 101
Simplicty Appreciation 101Simplicty Appreciation 101
Simplicty Appreciation 101
 
Better Machine Learning
Better Machine LearningBetter Machine Learning
Better Machine Learning
 
Why projects fail
Why projects failWhy projects fail
Why projects fail
 
Designing Moblin For Netbooks (with notes)
Designing Moblin For Netbooks (with notes)Designing Moblin For Netbooks (with notes)
Designing Moblin For Netbooks (with notes)
 
Win#23 it
Win#23 itWin#23 it
Win#23 it
 
Investor Marketing Services – Creating More Time
Investor Marketing Services – Creating More TimeInvestor Marketing Services – Creating More Time
Investor Marketing Services – Creating More Time
 
Machine Learning Workshop, TSEC 2020
Machine Learning Workshop, TSEC 2020Machine Learning Workshop, TSEC 2020
Machine Learning Workshop, TSEC 2020
 
Collected Wisdom
Collected WisdomCollected Wisdom
Collected Wisdom
 
Plan B Studio: Silicon Beach 2013
Plan B Studio: Silicon Beach 2013Plan B Studio: Silicon Beach 2013
Plan B Studio: Silicon Beach 2013
 

Recently uploaded

%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 

Recently uploaded (20)

%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 

A change in perspective

  • 1. A change in perspective Gustavo Giráldez & Santiago Palladino
  • 3. Learning, rather than solving, is the measure of exhilaration Rock-Paper-Shotgun, A Good Puzzle Game Is Hard To Build, 2015
  • 4. Indie Dev Stories, Game Theory Applied: the puzzle of designing a puzzle game, 2012 Puzzles are essentially problem solving tasks. And these kinds of tasks are appealing to our human brains.
  • 5. Jaime Zawinski, Coders at Work, 2009 [I enjoy] the problem-solving aspect of [programming], I guess. Just figuring out how to get from point A to point B— how to make the machine do what you want. That’s the basic element that the satisfaction of programming comes from.
  • 6. Rock-Paper-Shotgun, A Good Puzzle Game Is Hard To Build, 2015 A good puzzle is elegant and often minimal. A puzzle should know what the point is, what it’s trying to illustrate to you.
  • 7. Rock-Paper-Shotgun, A Good Puzzle Game Is Hard To Build, 2015 When I’m excited playing puzzle games it’s because each new puzzle is forcing me to understand something new about the mechanics of the world I’m taking part in.
  • 8. Rock-Paper-Shotgun, A Good Puzzle Game Is Hard To Build, 2015 If you can go through the motions and apply the same sort of thought process and solve every level, then, that can be engaging, but I don’t think it’s very interesting.
  • 9. Alan Kay, Talk at Creative Think Seminar, 1982 A change in perspective is worth 80 IQ points
  • 10. Simon Peyton Jones, Coders at Work, 2009 The most depressing thing about life as a programmer is if you’re faced with a chunk of code that either someone else wrote or, worse still, you wrote yourself but you no longer dare to modify. That’s depressing.
  • 11. Brad Fitzpatrick, Coders at Work, 2009 Maybe there are so many layers of abstraction that people don’t know what the hell is going on underneath because the computers are so damn fast that it hides your stupidity.
  • 12. Simon Peyton Jones, Coders at Work, 2009 Systems are filled with so much goop [...] And each of them has a fat book that describes it. There’s a lot of stuff you need to just have in your head. It’s like learning a language—a human language—there’s a large vocabulary. For me, that’s no fun.
  • 13. Simon Peyton Jones, Coders at Work, 2009 I really think [programming] is a funny medium because it’s so malleable. You can do virtually anything with it. But that means you can build ugly things as well as beautiful things and things that will be completely unmaintainable and un-durable.
  • 14. Edsger W. Dijkstra, How do we tell truths that might hurt, 1975 Simplicity is prerequisite for reliability.
  • 15. Tony Hoare, The Emperor’s Old Clothes, Turing Award Lecture, 1980 There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult. Sir
  • 16. Rich Hickey, RailsConf 2012 Keynote Speech, 2012 Simplicity is hard work. But, there's a huge payoff. The person who has a genuinely simpler system - a system made out of genuinely simple parts, is going to be able to affect the greatest change with the least work. He's going to kick your ass.
  • 17. Easy Near to our understanding Familiar Relative Subjective Rich Hickey, Simple made easy, Strange Loop conference, 2011 Simple One fold, one role, one task About lack of interleaving, not lack of cardinality Objective
  • 18. Simon Peyton Jones, Coders at Work, 2009 Unless some people are working on radical and elegant things you’re going to end up in a local optimum, incrementally optimizing the mainstream but stuck on a low hill.
  • 19. Paul Graham, Beating the Averages, 2001 The Blub Paradox
  • 20. Ben Moseley, Peter Marks, Out of the tar pit, 2006 Power corrupts. [...] The more powerful a language (i.e. the more that is possible within the language), the harder it is to understand systems constructed in it.
  • 21. John Carmack, 2001 If you're willing to restrict the flexibility of your approach, you can almost always do something better.
  • 22. Peter Deutsch, Coders at Work, 2009 Every programming language today that I can think of, that’s in substantial use, has the concept of pointer. I don’t know of any way to make software built using that fundamental concept qualitatively better.
  • 23. Joe Armstrong, Coders at Work, 2009 The problem with object- oriented languages is they’ve got all this implicit environment that they carry around with them. You wanted a banana but what you got was a gorilla holding the banana and the entire jungle.
  • 24. John Carmack, Twitter, 2011 Sometimes, the elegant implementation is just a function. Not a method. Not a class. Not a framework. Just a function.
  • 25. Simon Peyton Jones, Coders at Work, 2009 Functional programming has a lot to offer. Fundamentally it enables you to build more robust structures. Structures that are easier to comprehend and test and reason about.
  • 26. Michael Feathers, Twitter, 2010 Object oriented programming makes code understandable by encapsulating moving parts. Functional programming makes code understandable by minimizing moving parts.
  • 27. Rich Hickey, “Clojure, made simple”, 2015 Our fundamental construct, the object, conflates two things, it doesn’t give us two separate ways to talk about processes, for which objects are an OK approach, and information, for which they are a terrible approach.
  • 28. Rich Hickey, The Value of Values, 2012 All that specificity kills your reuse
  • 29. Alan Perlis, Epigrams on Programming, 1982 It is better to have 100 functions operate on one data structure than 10 functions on 10 data structures.
  • 30. Rich Hickey, The Value of Values, 2012 What is a Fact? Place where information is stored. There is a place for every bit of information. Facts have operations, e.g. get and set. Operations control how facts can change. To convey a fact, convey its location. </sarcasm>
  • 31. Rich Hickey, “Clojure, made simple”, 2015 We are the stewards of the world’s information. And information is just data. Is not a complex thing. Is not an elaborate thing. It’s a simple thing, until we programmers start touching it.
  • 32. Tomek Borek, Why bother with FP?, Lambda Days, 2015 Papers: Yes Studies: No
  • 33. Kernighan and Ritchie, The C Programming Language, 1978 The only way to learn a new programming language is by writing programs in it.
  • 34. Brad Fitzpatrick, Coders at Work, 2009 You never learn something until you have to write something in it, until you have to live and breathe it. It’s one thing to go learn a language for fun, but until you write some big, complex system in it, you don’t really learn it.
  • 35. Alan Kay, Meeting at PARC, 1971 Don't worry about what anybody else is going to do. The best way to predict the future is to invent it.
  • 36. Simon Peyton Jones, Coders at Work, 2009 Part of what makes programming fun is trying to write programs that have an intellectual integrity to them. I think a good attribute of a good programmer, is they try to find a beautiful solution.
  • 37. R. Buckminster Fuller, 1895-1983 When I am working on a problem I never think about beauty. I think only how to solve the problem. But when I have finished, if the solution is not beautiful, I know it is wrong.
  • 38. References ● Rich Hickey, The value of values ● Tomek Borek, Why bother with FP? ● Rich Hickey, Simple made easy ● Peter Seibel, Coders at Work ● Moseley & Marks, Out of the tar pit ● Marsh Davies, A good puzzle game is hard to build