Along with a much-needed re-branding of Rails, David Heinemeier Hansson published a very thorough doctrine covering the major tenets of the framework.
I love Rails and have used it almost exclusively for the past 8 years, so there is a lot I agree with here. There’s also a few things I strongly disagree with, but that’s ok. A framework doesn’t have to be everything to everyone. But, if you’re going to use a framework, you should understand why it exists.
One of my favorite points is the ability for everyone to disagree and yet still move the framework forward:
We need disagreement. We need dialects. We need diversity of thought and people. It’s in this melting pot of ideas we’ll get the best commons for all to share. Lots of people chipping in their two cents, in code or considered argument.
So while this doctrine has described an idealized form, the everyday reality is much more nuanced (and interesting). Rails is capable of supporting such a large community under one tent exactly because there are so few if any litmus tests.
The continued success of RSpec, a DSL for testing I’ve often expressed grave discontent with, is perfect proof. I can rant until I’m blue in the face of why I don’t think it’s the way to go, and it can still blossom and prosper. That point is the far more important one!