I’ve been doing a huge chunk of my development in Ruby on Rails for about a year now, and I’ve been quite happy with it. The tools are fine (hello, TextMate and Locomotive), the language is a pleasure to work in, and I generally feel like Ruby on Rails is good for my productivity as a programmer. What’s been interesting to me has been watching how the perceptions of Ruby have changed over the course of the year. When I started, Ruby on Rails 1.0 had not yet been released, and while there was a rabid fan base out there, it was still very much regarded more as a curiosity rather than as a contender. That has changed.
When you look at the growth curve for Ruby in terms of projects coming to market, books being written, and so forth, it’s obvious that it is achieving critical mass. As such, Ruby is attracting the attention of some of the big name software development bloggers. Joel Spolsky says Ruby is too slow, which is probably true. Tim Bray says that Ruby’s XML libraries are not ready for prime time. Also true.
When looking at the big picture, though, those complaints may be valid, but they aren’t relevant to whether or not Ruby is going to continue to grow. (In other words, criticism of Ruby or Rails aren’t going to kill Ruby or Rails.) I was having lunch with a coworker earlier in the week and he was telling me about some advice from Seth Godin. He had assumed that for a site that publishes writing, you need to work on attracting the best writers. Godin told him that the secret is to attract readers. Once you have an audience, writers will show up to write for that audience. Something similar can be said for development platforms, I think, and this is where Ruby is very strong.
If you are interested in promoting Ruby, you don’t need to focus on writing a faster Ruby interpreter or better XML libraries, you need to get as many people as possible to use Ruby. As the pool of developers grows, the platform will improve, both because some of the new developers will improve it themselves and also because people will throw money at making those improvements. Right now, Ruby is growing like wildfire in spite of the flaws that people are noticing. The rest will take care of itself.
The one thing I worry about is the immune response of the Ruby community to criticism from newcomers. More and more different types of programmers are taking a look at Ruby, and they all have their own opinion on the right way to do things. You may disagree with them, but it’s foolish not to listen to them. It may just be that they’re talking about problems they already solved elsewhere that you haven’t even considered. Besides, these are the people that are going to help take Ruby to the next level.
The bottom line is that right now, the Ruby world is a fun place to be. I’d encourage anyone to join in.