Carson Summit Part 4: David Heinemeier Hansson - 37signals

This looks like a really old post (I mean, it's from 2006 for goodness sake). Stay for the retro vibes but be aware any information in this post is likely way out of date.

"Happy Programming and Sustainable Productivity with Ruby on Rails"

Having had a cursory look at Rails I can see where this talk is heading from the outset. It is centred around 'convention over configuration' and the basic premise seems to be that most of the work done by web programmers is mundane and is repeated again and again - 'You are not a snowflake'. Shouldn't you then concentrate on what makes you unique in coding terms and let the framework do all the heavy lifting?

To demonstrate this he shows us some code in Rails and proceeds to remove everything which confers some sort of pattern, from naming fields in tables to setting defaults. This leaves a much slimmed down code example. If we make the configuration the exception rather than the norm we can write slimmer, more beautiful code.

Flexibility is overrated - it leads to more complex systems which are harder to modify; constraints are liberating and lead to consistent systems and happier teams.

He then moves into Rails proper and demonstrates how it encourages good practice, for example by incorporating test pages into the cycle; "You do know testing is good, don't you?" Compare this to PHP (David developed in PHP for 5 years) where the devil on the other shoulder tends to get heard: "You can test it at the end", "No-one else needs to know how this algorithm works - it makes you a more valuable employee!".