rc3.org

Strong opinions, weakly held

Will Ruby on Rails become mainstream?

Google engineer Cedric Beust argues that Ruby on Rails is not destined for mainstream acceptance. Here are his basic arguments, which he explains further in his own post:

  1. Ruby is too hard for most people.
  2. Rails is too clever.
  3. No credible IDE.
  4. Fanaticism of the user base is off-putting.
  5. Ecosystem for Ruby Web development frameworks is monopolized by Rails.
  6. Rails is not proven to be scalable.
  7. Not enough ISPs support it.

I’d say that items 3, 6, and 7 will be fixed in time, assuming that Rails continues to grow as it has. Java was growing in popularity for years before really top notch tools like Eclipse and IDEA were released, and I think that the Ruby tools space is maturing more quickly than that. It will be very interesting to look at the feature set of TextMate in 18 months to two years, for example. If Ruby on Rails continues to grow in popularity, someone will solve the scalability and deployment issues, and ISPs will pick it up. The question is whether other things will keep Ruby on Rails in a niche.

I don’t think Ruby is too hard. Even if it is, the fact is that you can write a solid Ruby on Rails application without taking advantage of any of Ruby’s cleverness. I wrote my first Rails application (a small, simple one) without knowing Ruby at all. Granted I know Java and Perl, so Ruby was very approachable to me, but I didn’t take advantage of any of the most interesting aspects of Ruby. Lots of regular folks have learned enough Perl to get their work done, and Ruby is easier to learn than Perl, in my opinion.

Here’s a real Ruby on Rails story. When I started working on my Ruby on Rails project, I had the services of another developer at my disposal. I could have chosen Java, or PHP, or anything else. The other develoepr knew Java, but wasn’t familiar with any of the MVC frameworks or ORM tools like Struts, Spring, or Hibernate. I realized it would be easier to drop Java and go forward with Ruby on Rails than to get him to stop writing Java apps his way and learn the various frameworks necessary to write Java applications the way I have for the past few years. Yes, there is a lot of cleverness in Rails, but there’s a lot of cleverness in most good frameworks. I’d estimate that 75% of the people who use Hibernate as a persistence layer for their Java applications have no real understanding of how it works, they just know how to map objects to tables and use the Hibernate facilities for managing persistent objects. Rails may be hard to understand, but it’s easy to get started with.

I’m not certain Ruby on Rails will ever find itself on the same plane with J2EE, PHP, ASP.NET, and the other big Web application platforms. There are a lot of intangibles out there that could stymie its progress. But I look at it and see something that really could be a great success. The growth curve is excellent and the Ruby and Ruby on Rails books from the Pragmatic Programmers are top notch. Soon there will be whole shelves of Ruby on Rails books, as well. (An editor pinged me about writing one and I’m a total Ruby on Rails neophyte.) The tools and deployment pictures are both looking better all the time, and the fanatical user base is doing a good job of evangelizing the product.

The jury is still out on Ruby on Rails, obviously, but I’d bet on it being a big success when all is said and done. In the meantime, it’s been a great for my projects, and you can’t ask for more than that.

Update: I misspelled Cedric Beust’s surname, as a commenter points out. My apologies.

7 Comments

  1. Only 6 and 7 are credible, IMO.

    Hurdles I would list:

    _ Steep learning curve. You have to relearn everything that you know how to do in web development the Rails way.

    _ Documentation. Say what you will about PHP, but you cannot deny that its documentation is very accessible and easy to use. I have not had the same experience with Rails. I hope this improves soon.

  2. “An editor pinged me about writing one and I’m a total Ruby on Rails neophyte.”

    This is an ominous sentence. Technical presses trying to make a quick buck with thrown-together books could really harm RoR, actually.

  3. I’d suspect this nefarious editor (wasn’t me, I swear) had probably read Rafe’s blog postings and knew that he was a Ruby on Rails “neophyte,” but nonetheless thought that someone with Rafe’s proven ability to write clearly on technical topics might be able to write a good, basic tutorial for developers completely new to Ruby and/or Rails — readers like Rafe was when he first started out with Rails. Some of the best entry-level programming books have been written by authors who had a technical background but who might have learned the topic at hand only a few steps ahead of their readers.

  4. Correcteur Orthographique

    April 7, 2006 at 11:29 am

    Beust not Beaust

  5. No major ISPs? Well, I don’t know if you would call them major, but GoDaddy.com’s hosting environment on Linux does Ruby on Rails via FastCGI.

  6. Anyone that says they can’t learn Ruby and/or Rails in a short amount of time, either, A. Sucks at what they do, B. has low self-esteem, or C has other motivations for not wanting to try.

    ANY programmer worth his salt can pick up new technologies in a short amount of time.

  7. Oracle is talking alot about Ruby on Rails. Here is a nice link on Oracle’s site: Simple Ruby Tutorial

Leave a Reply

Your email address will not be published.

*

© 2024 rc3.org

Theme by Anders NorenUp ↑