format internet:

…please wait (48% completed)…

it’s not the framework, it’s you

Posted by javier ramirez on July 21, 2009

I’m getting tired already of the hype about Ruby on Rails and how it is better than any other framework past, present or future.

Sure Rails is a cute piece of software, and Ruby is a gorgeous language (supposing you are into programming languages, that is), but if you take a critical look at Rails, you could just say it’s another MVC framework.. Big deal.. And with some coupling issues between the layers too, which are fortunately being targeted on Rails 3.

Moreover, if you take a look at some of its components they could frankly be better. ActiveRecord, for example, is a wrapper ORM, which is implicitly tying you to the physical database layer, with one class per table, as opposed to a mapper ORM such as DataMapper or Hibernate. And the principle of least surprise is kind of a joke when it comes to some of the ActionView helpers and the parameters you have to pass along.

Still, as we like to say around here “Ruby on Rails mola infinito”, and it’s right now my favourite framework for non trivial web applications.

So.. what makes this framework so special? Is it only the absence of configuration and the sensible defaults? Would we sell ourselves for a couple of parlor tricks like those? Surely not.. specially with so many frameworks providing already sensible defaults. Come on, even in Java you can kind of forget about writing so much XML code if you make proper use of annotations and the like. No, it has to be something else.

Ruby on Rails has something that transcends the framework itself. It has you. The Mighty Developer. The Early Adopter. The Status Quo Challenger. The so-called Community —whatever that means.

Bottom line is, when I get together with people working with Rails, they are always in search of the holy grail of web development —or the nearest tavern, whatever comes first.. you have to love that kind of pragmatism. We like to break our assumptions, to learn new things and forget about the ones we already know.

We embrace Rails *today* but we are willing to embrace any other tool as long as we like it better. Do you remember the months before the Merb-Rails love affair? Half the Rails developers I know were already making eyes at Merb without the slightest hint of shame.

And by challenging the system, we are obliged to keep learning… and to find new ways to build the web. And instead of trying to make a carbon copy of what we did before, we like to start anew, because that’s where the fun is.

Sure you can argue this attitude is not the exclusive property of the Rails community. And I would second you on that based on theory.. but in practice, I have seen other some other communities lack this need of challenging. Maybe it’s because they have maturity models and certifications and black belts and whatnot…. And maybe having so many constraints is killing creativity; but fact is in some environments trying to take a step forward is seen as something odd, not desirable.

Rails will pass —or not— but as long as we keep alive the spirit of embracing change, we are entitled to be on the fun side of web development.

So, if you ask me, that’s the secret ingredient of Rails. Sure the language and the framework are cool, but the real power of Ruby on Rails is you.. and me.

update: please read the comments, since I was a bit ambiguous in the post and some points needed further explanation :)


10 Responses to “it’s not the framework, it’s you”

  1. Adam said

    Well said. I always say that the best thing about Ruby and Rails are the people. Technology comes and goes but the willingness of this community to grow and challenge itself seems to be forever, like diamonds or, in our case, rubies :)

  2. I’m sorry javi but I think you actually are talking like one of these “ghetto citizen”.

    I mean, do you actually think people working with other technologies, frameworks… don’t have big communities, don’t have hacking parties, don’t have meetings, conferences…?

    on the other hand, do you actually think there aren’t great people, hackers, whatever you want to call them out of the community? one example, one of my workmates, he knows ruby internals better than most people I know into the community, he found some bugs in ruby, NOT RAILS, opened issues and patched them, nobody knows him in the community.

    I just think you can also find this kind of people beyond rails and its community.

  3. porras said

    David, Javier hasn’t said the Ruby/Rails community is the only place where that individuals exist. He has only said there’s an unusual concentration there (and he hasn’t even said it’s the only place where that happens). I agree with him, and don’t think it’s a ghetto thing, if you are aware of those things.

  4. javier ramirez said

    David, you are right in that the post can be misunderstood.. and I should clarify it :) Specially since I consider myself pretty skeptic in terms of ghetto-ness and coolness.

    I’m sure there are a huge number of excellent developers out of Rails. Statistically the best web developers will be actually from outside of the Rails world. Come on, when we came to Rails, we all came from out there and I’m all the time trying to get people from my past into the Rails world.

    And I’m not implying the developers must be a part of the community. Actually I don’t feel comfortable with the community term. Where I work, most of the people are “anonymous” community-wise, but some of them (if not all) are far better than me.

    But most of the people I know working with Rails share some principles and attitudes, no matter if they are “social developers” or “lonely rangers”.

    Indeed I say in the post that Rails will pass, and the people with that kind of eagerness for change will move on to a “new best thing”.

    What I mean is that around Rails, the proportion of people “with a cause” is higher than in other main stream languages. Maybe not higher than in all of them, but for sure higher than in the biggest ones. That’s why I talked about “certification” or “maturity models”. In the languages where those terms are a part of the everyday world, you don’t get to see a big percentage of people trying to find new ways.

    And since the amount of people trying to push the language/framework further is so big, Rails cannot do anything but advance.

    And the second implication of my post is that the framework itself is not really so good by itself. Give Rails to a bunch of people without any interest and they will be doing the same crappy work they were doing ten years ago. And likewise, COBOL —bear with me here— in the hands of a motivated developer can be something worth mentioning.

    The post is not about visibility or even contributions, it’s about the state of mind in which you want to change the world and make it better —whatever better means— and how you look for the tools that better serve you in your quest.

  5. +1.
    Many people think I am not part of that Rails community, just because I don’t knwo how to program in Ruby, but I will try to brak the getho and agree with Javier.

    Technology is not relevant. Technology evolves and changes and having passion for change and evolution is what makes a difference.

    After many years I have not seen so many peole in different organizations with passion for change and evolution, and that is not a sign of “members of the community” but I find it in everyone I met that knows and uses Ruby or Rails.

  6. Sergio, actually he said it or at least I understood that with sentences like “I have seen other communities lack this need of challenging” or “the real power of Ruby on Rails is you.. and me”, come on, open source without community won’t be anything, you can’t apply it just to a specific framework or technology

  7. Javi, do you think people behind mysql or apache httpd or lucene or linux, just to notice a few ones, didn’t or don’t have this state of mind? (well, right now, mysql perhaps is not a good example XD)

    • First of all, I’m talking web development frameworks here ;) but sure, it would also apply to frameworks like JBoss Seam or Django, or to any other tool.

      Of course the people creating the tools has the attitude of changing… but I’m not talking about the people making the tool, but about its users.

      In one of your comments you say “open source without community wouldn’t be anything” and that’s exactly my point. Too many times I listen to people saying “Rails is such a good framework”, as if implying the tool by itself is so good.

      Well, I think the tool is good enough, but the real thing is the developers using this tool and their will to push it to do what they want. In Rails —and in other web frameworks too, but not in all by far— many of the users of the framework share that vision. Just a few times I’ve seen developers using Spring (for example) knowing so well the internals of the framework and extending so many parts as you usually see in projects made with Rails.

  8. I remember, back then when I was a recently recruited programmer at The Cocktail I was walking with Porras after work to the Bernabeu subway station. We were talking about Rails, of course, and Porras just pointed the same truism: the coolest thing about Rails is the community mindset which is all about doing things in an innovative way that nobody was doing at that time (I’m talking about web frameworks here)

    I pretty much agree with that, but will this assertion hold true in the near future? In my opinion it won’t, because Rails as a web framework is feature-complete now, or almost there. There have been no breakthroughs during the last year *inside* the framework and the most exciting achievements happen outside it (JQuery, Cucumber, anyone…?) and work inside the framework is directed towards the infamous Merb/Rails merger… as time passes people embracing Rails will do this not because of the challenge or innovation but just because it makes it easier to get your job done and earn money in the way. They won’t be alpha geeks and as such their contributions -if any- will be of smaller importance. Rails will then be on its way to legacy uncoolness, just as any other piece of software ever written.

    This all boils down to the fact that, yes, it’s not about the framework it’s about the community… but communities are not immutable entities so you have to be well aware of that.

    • So we agree.. the cool things happening around Rails are not so much because of the framework, but because of the people working with the framework.

      I’m not sure though that the merb/rails issue is “infamous”. In my opinion, merb has a much better architecture than rails, so if they keep the balance between the pragmatism in Rails and the architectural principles in merb, the result can be interesting. The risk here is having yet another mix-fail. like in the hello vader thing ;)

      And about Rails losing traction when more people get to the framework, if that happens before the framework dies by itself, then we’ll have to find a new tool/toy.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: