Rails + Merb: When differences matter and when they don’t

Yesterday saw the announcement that Rails and Merb would merge.

I’ll let the blogosphere debate the benefit of the merging of the frameworks feature by feature. At first I was disappointed because I liked where Merb was going (and still is apparently). I use Rails everyday and am beginning to be slightly perturbed about the “opinionated” design. However, I wanted to comment on the bigger picture. The merging of different opinions and principles.

The most refreshing part of this merge announcement is the notion that “warring tribes” were able to join forces. I think this should not go unnoticed. How often do software projects with dramatic differences basically move in together? Not often.

In my opinion that’s because software developers are isolationists. We want to write frameworks that can live independent of other peoples junk. That way when problems arise it’s the other guys bad idea and not ours. On top of that we want to be the creator of the Better Way™. And when we are opinionated about it, that makes us colorful. At least that has been the climate lately.

Look at other debates on technology. Here are a few:

  • REST vs. SOAP
  • ODF vs. OOXML
  • functional vs. imperative languages
  • Vi vs. Emacs
  • Mac vs. PC

How many of these are tired? What prevents some of these from just dropping their differences and combining their strengths? I have my opinion and it involves ego and pride, but I’ll keep it to myself.

Sure you might think it utopian and idealistic for some of these larger technologies to merge, but I find it refreshing to at least consider it. Think of this: how many new ideas are being lost because the differing ideas aren’t being brought together side by side? [UPDATE] I really enjoy this:

That the rift in many ways was a false one. Founded on lack of communication and a mistaken notion that because we care about working on different things, we must somehow be in opposition.

Differences matter when the problem calls for it. That’s inherit in every design. In some cases you have to use X because Y doesn’t solve the problem. But differences don’t matter when you are looking for new ideas. I think Rails + Merb is a new idea.

Progress does not come from solving the same problem with the same solution over and over again. There is a word for that. Doing the same thing over and over again expecting different results is what again …

Category: Code Comment »


Leave a Reply



Back to top