Is rails a ghetto? developments in the ROR space.

Although I haven’t done as much work with Rails as I’d like, I follow it very closely because I like the language and the platform, plus I’m sure to write a web application in it in the next month or two.

In the last few weeks, though,  there have been some interesting developments in the ROR space. Ace programmer Zed Shaw fired two broadsides against the Rails community a few weeks back titled Rails is a ghetto. [aside: there is this very interesting O’Reilly interview with Zed that might help you understand his accomplishments with Ruby]

Its an interesting read, albeit unprofessional and rather profane. I came away from the two part rant feeling that if Mr. Shaw were as unprofessional as he sounded, then it might be the reason he kept bumping into the types of characters he “railed” against. I also didn’t get enough evidence from the rant to really justify (in my mind at least) that the Rails community was a ghetto. It just seems that the immediate space that Zed seems to work in was a bit crappy but the job postings I see for Rails are an order of magnitude more coherent and well-mannered than the ones I see for php. Anecdotal … I know.

Obie Hernandez, another big time Rails person (author of the book “The Rails way”) posted a very balanced counter point to the ghetto rant … About Rails and Ghettos. I felt this was a better assessment of the community. This is my perspective as a one-foot-in-one-foot-out guy in relation to Rails.

The second episode concerns the mounting concern with Ruby on Rails performance and ease of deployment. In case you don’t know, Ruby is slow and painful to deploy. (I helped a client with a Ruby on Rails application deployment late last year and the experience was not pleasant). Dreamhost offers Ruby on Rails hosting for its shared server accounts, and in this post “How Ruby on Rails could be much better” they outline the problems they have had hosting Ruby on Rails and gives suggestions for making it better.

To this, the creator of Ruby on Rails responded with “The deal with shared hosts” which I think shows a disregard for the importance of shared hosting accounts and a bit of his brashness. In summary.

In exchange, I’ll ask a few, small favors. Don’t treat the current Rails community as your unpaid vendor. Wipe the wah-wah tears off your chin and retract the threats of imminent calamity if we don’t drop everything we’re doing to pursue your needs. Stop assuming that it’s either a “complete lack of understanding of how web hosting works, or an utter disregard for the real world” that we’re not working on issues that would benefit your business.

[aside: I kind of agree with this, Dreamhost should hire someone to actually get under the hood and make Rails work for them, after all they are making money off of it. I just think the tone is a tad arrogant]. To continue, Dreamhost wrote another post “Rails is as Rails does“, softening their tone but still making the excellent point that making Rails easy to deploy can only win it converts. Somehow, I don’t think the Rails folks really care about converts that much (the interesting question is “Do they need to?”). Apple thrives on that air of exclusivity that its products high prices give it, maybe Rails is targeting elite programmers who don’t complain but fix what they don’t like and get on with it.

At at the end of all this though, I am left with a weird taste in my mouth about Ruby on Rails. I’ve always felt that Rails folks are a bit arrogant and condescending. I think there is the feeling that everyone should develop with ROR a certain way and if you don’t, you’re not worth wasting time on. In fact here is the creator’s message to people who have a problem with the way he handles Rails, (with some background so you don’t think I’m being unfair) …

if you don’t like the way I’m creating Rails then fuck you.

I see where they’re coming from, but I’m not sure I like it. I love Ruby, I have the best Ruby on Rails IDE installed and hope to be knee deep in it soon. It will be interesting to see if the impressions I have formed about the community hold up.