Dharmesh.com

Article Navigator

Navigate By : 
[Article Index]

Subscribe by Email

Your email:

My Website Grade

Dharmesh Shah's Blog

Current Articles | RSS Feed RSS Feed

Spolsky Rails On Ruby

Digg digg it | Reddit reddit | del.icio.us del.icio.us | StumbleUpon StumbleUpon 

I’ve been a fan of much of Joel Spolsky’s writings for a while. I think some of his earlier work, like the “Law Of Leaky Abstractions” is simply brilliant (and entertaining too). But, that was way back in 2002 and both the volume and average quality of the posts has deteriorated over time. But, no big deal. He’s got a company to run, and I understand how that goes. I’ve been writing consistently for my OnStartups.com blog for almost a year now, and I’ve had my good weeks and bad weeks.

However, one of the recent Spolsky articles caught my attention: “Language Wars”. There’s a lot of thinking in the article that I agree with. But, in certain areas, I found the message overly trite and simple. Don’t get me wrong, I personally do not use Ruby On Rails for my own startup, but I know several smart technical founders of startups that did choose RoR and are happy with their choice. For specific types of applications, RoR provides an important productivity advantage. To dismiss the entire language and framework out of hand simply because it is new seems a wee bit extreme. Though I think there are tradeoffs, and I agree with Joel’s point that there is an advantage to “using what you know”.

But, it’s not the whole Ruby thing that really bothered me in the article. It was the reference to Joel’s own technical choices for his flagship product FogBugz. I’m not a FogBugz customer, but from what I know, it is a usable and often praised issue tracking system. What really struck me was that Joel chose to build his own compiler in order to build FogBugz. For someone who is looking to make “safe” choices, this seems to fly in the face of that direction.

The justification offered for building his own compiler comes down to this:

  1. Though the application is web-based, he needed to ship it to customers as it is not a hosted product (i.e. customers run the software in their own evironments).
  2. He needed to support multiple operating systems

Now, I could be wrong here, but these don’t seem to be particularly arcane requirements (i.e. there are likely tens of companies out there that have this need). Also, from what I know, FogBugz doesn’t seem to be a particularly complicated product that would justify a domain specific language in order to abstract the complexity.

Maybe I’m missing something, because I’m reasonably certain that Joel’s a really smart guy. But, to dismiss things like Ruby On Rails and in the same article claim that it was the right path to build your own compiler to create an issue tracking system seems a little misguided.

What do you think? Am I off-base here?

Comments

Joel quite correctly dismissed Ruby on Rails as being too new to be a safe choice.* And he is probably right to create his own Domain Specific Language for FogBugz.

The two statements can be easily reconciled by re-reading his "Five Worlds" essay: http://www.joelonsoftware.com/articles/FiveWorlds.html

His admonition to avoid Rails is quite explicitly aimed at the "Enterprisey" readers. Fog Creek is not Enterprisey, it is much more like a start up.

Different worlds, therefore different choices are appropriate.

* = I also feels Rails is not a safe choice. Nevertheless I use it fo rmy own venture. But I'm not trying to be "safe," I'm trying to obtain a competitive advantage.
Posted @ Saturday, September 02, 2006 3:31 PM by Reg Braithwaite
Searching for new technologies to incorporate in my new startup - I did look at ROR briefly. Generating CRUD dbaccess code is something which many s/w packages can do. It is still a mystery to me as to why people use ROR... If it was a microsoft technology, I would be biased and try my best to not use it. I do have a soft corner for products such as ROR but it still has not got me to the point where I am mentally comfortable with it...
Posted @ Thursday, September 14, 2006 12:02 AM by gamedev
Post Comment
Name
 *
Email
 *
Website (optional)
Comment
 *

Allowed tags: <a> link, <b> bold, <i> italics

Receive email when someone replies.