Please Don’t Blame It on Rails

One of many reasons why I love Rails…, yes, I said it, I love Rails, okay? Let’s move on. I love the fact that Rails makes developing a web app really easy and breaks down the barrier to entry. In fact, it’s allowing the designers to develop really stylish web apps. I think everyone benefits from this.

However, in recent projects, I find that these designers never took time to really study the basics of programming. In fact, I see so many Rails apps put together with a bunch of plugins blindly thrown in that it’s getting really frustrating to work on. I can now see why people are bitching about apps written with Rails and subsequently, Ruby gets blamed as well.

My experiences through the years have taught me that you can write unscalable and poorly performing applications in any language, framework, and/or platform. There are apps out there that is running very well that’s written with Ruby and Rails. So, is it really fair to blame a language and a framework for your failure? I really suggest that everyone take a hard look at themselves before placing the blame on a framework that brought so many people into our profession.

Please don’t blame Rails for your app not scaling across multiple servers when your code takes an uploaded file and save it at a specific directory in a server where other servers can’t get to it. I didn’t even know that it was possible to do this, but apparently it’s possible.

Please don’t blame Rails for your app not performing well because you didn’t implement all known performance enhancing techniques. Being a developer means you have to be learning constantly, both from your experiences as well as others.

Please don’t blame Rails for SQL injection attack when your code takes the user’s input and put it into sql condition without escaping. Yes, I still see this.

Do not blindly use plugin. DRY is NOT Repeat Others. Investigate and document if the plugin is poorly documented. Every plugin deserves a code review, even if it’s written by a famous dude.

Please know the reason behind the techniques and convention. Ask yourself if you really need to be RESTful, because it may actually not make sense for you to be RESTful. By the way, using Rails for REST services is silly when we have Sinatra and Rack.

Don’t get me wrong, Rails does have its shortcomings, but Ruby makes it possible for you to correct it. After all, it’s open source! Isn’t that the beauty of this whole open source movement?

Comments

Comments are closed.

Powered by Olark