Going Agile

Wednesday, December 26, 2007

A Shining Ruby

Yes, so this company is all hot to trot on Ruby on Rails. Or rather, the CTO is. I can sum up my experience to date as follows:

Stage 1: Loved It
Stage 2: Hated It
Stage 3: Tolerating It

I'll do a longer post in a little bit, but here's the preview skinny.

Stage 1: Loved It
Ruby on Rails is a very smart framework. Ruby _is_ really a fun language to use. Ruby is great for little utilities and quick scripts and has all sorts of interesting things you can do with dynamic code. Think Javascript with a little more sense to it. Rails takes many of the best techniques from web apps, including Test Driven Development, and rolls them into a single stack (cross-platform).

Stage 2: Hated It
This stage came after actively building an app for our first sprint (two weeks). Like many tools that try to help you out, it will fight you if you try to go outside the prescribed path. Once I was actually building with it I realized it was more like doing battle with the ghosts of classic ASP/VB Script than using some new whiz-bang tool. And once you get beyond the cutesy tutorials, the documentation truely blows when compared to what can be found for other, more mature platforms. And no, being able to read the source code directly doesn't preclude the need for proper documentation and tutorials.

Stage 3: Tolerating It
Like any platform, there is a learning curve. I'm accepting that I'm still going up it. On the positive, it is much easier to learn that a full Java stack. On the order of a couple days instead of a few weeks. Unfortunately, the performance (not scaling) of Rails is so poor that I end up writing all kinds of workarounds in addition to extra unit tests that would not be necessary if I was still developing in .Net with a proper ORM tool. This largely cancels out any perceived benefits or LOC savings that people crow about when evangelizing for Rails.

I'll follow up with a full review of the good, the bad, and the ugly of Ruby on Rails in a few days/weeks once I confirm a few more things.

Labels:

0 Comments:

Post a Comment

<< Home