A few weeks back a longtime Rails developer by the name of Zed Shaw wrote a post in which he declared Rails is a ghetto. If you haven’t already read it I would suggest that you probably not bother. It’s likely not going to be very interesting to you unless; a) you’ve been involved in Rails since almost it’s very beginning and thus you probably already read it or b) you’re planning to become a consultant in Rails. See, a lot of it is kind of like the guy telling you how much the party sucked because a bunch of people showed up and ruined it before you got there. Except, because you only showed up at the party very late to begin with, you had a completely different experience. The people who ruined the party are gone or at least aren’t ruining anything anymore. And the people who had their party ruined… Well, they’ve moved on to another party. A really boring one that started in 1991 that never really caught on and isn’t going to.
Those of us who only really showed up to the Ruby and Rails party in 2007 (and viewing the build a weblog in 15 minutes video the year before doesn’t count) are happy to show up to the party. There’s plugins to do everything under the sun, good books on interesting topics are showing up regularly, user groups are either already established or are popping up everywhere, it’s a great party. Especially if you’re a serial entrepreneur like myself and you’re looking to build websites with lots of features quickly and you aren’t going to get a lot of help from a huge crew of people to do it.
So maybe Rails is a ghetto. Maybe it would suck to be a consultant in it right now because there’s not enough jobs yet or rates aren’t where they should be. Maybe I would have developed strong animosity between myself and some other developers/writers because I got in too early. But frankly I didn’t and I love it. Working on LOL.com was truly the first web development experience I have ever really enjoyed. Yes, Enjoyed. Oh, I still love Java and it’s my go-to language for heavy data lifting. But Rails is it for my web development. I can go to a web development project and like it and then come back later and not wince at what’s I did. Sure, I’m making novice mistakes, but even those aren’t proving that bad to clean up.
Before I clam up again, there’s two other things I’d like to say:
Zed Shaw singles out Dave Thomas for a lot of vitriol in his rant. I can’t speak to any of that. Maybe he is a horrible person, maybe the Ruby book he wrote sucked horribly. But, I have read his Rails book and it’s not a bad book at all. I’ve gone back to it many times already. I have a lot of other Rails books at this point. Several of them aren’t very good at all, so it’s not just my ignorance of what other Rails books are like. Nor is it my inexperience with programming books. I’ve been a professional developer for 20 years now. I know programming books both bad and good. I can stand up and say that Agile Web Development with Rails is pretty good.
Everybody who has seen the explosive growth of Ruby and Rails over the last couple of years eclipse their favorite language/framework (e.g. Python, Groovy, PHP, etc.) seems to be blogging or commenting this idea that Ruby and Rails isn’t really that great, it’s just hype. It’s only a committed few who have something to gain from you adopting Rails (i.e. a book to sell, consultant hours, etc.) who are promoting something that is snake oil.
Seriously, how stupid do you think we all are? I’ve been doing professional development since 1985 and doing it full time since ’87. Do you really think that I and thousands of others can’t tell when something works and it doesn’t? I did HTML when the only browser was NCSA Mosaic and ASP websites to build DevGames.com and then later GameDev.net in 1999. That was painful. I can tell the freaking difference people. This works and it works well. I might not pick it for building the next version of eBay because it wouldn’t stand up to the load, but I would pick it for building the early versions of the next site that will become as big as eBay because it will offer that site lots of fast growth and flexibility.