mwrc: Learn from programming masters by Philippe Hanrigou

Philippe Hanrigou: What The Ruby Craftsman Can Learn From The Smalltalk Master

He talked about Picasso and how he studied the grand masters of classical art
for his entire life. He didn’t imitate them, but he used them for inspiration,
and he was considered a genius.

We, as programmers, can learn from the masters of previous generations. [I dislike Picasso’s art, but agree with the analogy].

– Naming is crucial.
– Use a role-suggesting name

Cognitive Scalability

As our software grows and becomes more complex, how do we maintain the ability
to change the software? It’s so easy for software to get “out of control”.

Look at Ruby’s String class and how many methods it has. It’s a mess.
Everything depends on String. If, every time we add a method to convert a
string to something else (to the String class), then we add a reverse
dependency on the other classes. Instead of `”3/14/2009″.to_s`, let’s do
`Date.from_string(“3/14/2009”)`.

Reduce code to the Essence. Let’s learn from Haiku, which values conciseness.

Symmetry. The Taj Mahal isn’t geometrically symmetrical, but is designed to look that way from one perspective. Symmetry will allow your code to be easier to read and understood. Kent Beck calls this “Reversing Method”.

We should spend more time studying the software grand masters from the lisp
and the smalltalk communities. And read Kent Beck’s books on Smalltalk best
practice patterns and/or Implementation Patterns.

Give him feedback on his ideas at [http://ph7spot.com](http://ph7spot.com)