Ted Leung on the air
Ted Leung on the air: Open Source, Java, Python, and ...
Tue, 11 Apr 2006
What does it mean for Ruby on Rails to become mainstream?

We've been going through the Ruby on Rails book in our Bainbridge Island reading group, so I was interested to see Cedric Beust's post Why Ruby on Rails won't become mainstream. It took me a few moments to get over the sting of being called someone who hasn't learned anything in 30 years (despite the fact that I only learned Lisp/Scheme 22 years ago). That bit of discomfort aside, there are some interesting points in his post. I am looking for a web framework for some experimental projects, and I think that many of the points that Cedric made are just as applicable to Python/Turbogears/Django, etc.

Cedric's definition of mainstream includes being appealing to Visual Basic and PHP programmers. That seems to be the backdrop of his first two points, that Ruby and Rails are too hard for these folks. I can see some of these points - folks in our reading group have been somewhat mind bent by some of the Ruby concepts, and they are Java/C# folks, which would put them higher on the food chain than VB and PHP programmers. I think that some of this is just unfamiliarity as opposed to difficulty, but there's not doubt that there is a learning curve there.

The next major point is about the lack of an IDE. I think that the term IDE has gotten a bad rap due to a class of products whose only real value add was to generate reams of horrible looking boilerplate code. But IDE's should be more than that, and the better ones are. One of the few things I miss from Java is Eclipse (never used the much vaunted IntelliJ). I use WingIDE for Python, which is at about the same level that Symantec Cafe was for Java. I mostly used Cafe for the debugger, which is the big reason I use Wing too. For me, the big jump in Java IDE's came with Eclipse (maybe IntelliJ was there first, I can't remember anymore), which could do refactoring and other semantic operations. This was the point where it was really worthwhile for me to use an IDE in preference to Emacs. Those of us that cut our teeth on the original dynamic languages (Smalltalk and Lisp) did so in the context of the fully integrated and graphical development environments of the Smalltalk and Lisp machines. This is in contrast with the currently popular dynamic languages which originated in the text only world of UNIX/Linux. So the only quibble I'd have with Cedric on this one is that is 2006 not 1984.

As far as fanaticism, I haven't personally experienced this, but then again, I haven't said anything negative about Ruby on Rails either.

The last two topics, 1) "enterprise" capabilities and scalability and 2) lack of support from Internet Providers, are both related to deployment.

The scalability question came up in our reading group as well, and I'd agree that the jury is still out on whether there are enough large deployments to settle the question conclusively. One area that makes me personally nervous is that a lot of work has been done on improving the VM for Java than on the VM's for Ruby, Python, or Perl. People in the Ruby, Python, and Perl camps seem uncomfortably sanguine about the performance of the VM's for these languages.

The ISP support question goes back to the assumption that the mainstream target audience is the Visual Basic and PHP developers. I know that ISP support for Python was problem for a number of folks who wanted to use Pyblosxom. In the days of User Mode Linux, Xen and so forth, you'd think that this should be a solved problem, but it doesn't seem to be, and if the target is PHP, then I'd have to agree that this is a problem.

So I'm mostly in agreement with Cedric, if the definition of mainstream is PHP and Visual Basic. But I have to wonder if that's the right definition for mainstream, or whether being mainstream should really be the goal. I know that I would personally like an outcome where Rails (or Turbogears/Django) was an acceptable technology to build a web application. By acceptable, I mean that you wouldn't have to pay a premium for developers familiar with the technology, there was an acceptable quality IDE, and your use of the technology wouldn't be regarded as a risk by investors or prospective investors. I don't know whether taking over the niche occupied by PHP and Visual Basic is necessary for that outcome to happen.

It is very hard for a technology to become mainstream. My own view is that Java succeeded because it arrived at a moment when there were serious problems with web development, and there was a need for a solution which had some of the properties that Java had. As Cedric pointed out, even in that situation Java had a number of problem areas to overcome before it became successful. Java also received a shot of enterprise legitimacy from IBM, something that Ruby has not (I think James Governor is jumping the gun on IBM's support for Ruby). I don't think we're at the point where the problems in web development are so bad that it's very difficult to get the job done. Annoying, perhaps. More complicated and expensive than necessary, perhaps. But it doesn't feel like it's so bad that the majority of people are going to switch over to a very different way of doing things. There's a rule of thumb that says that something new has to be around one order of magnitude better than the thing it's replacing. Regardless of how much I like Rails/Turbogears/whatever, I have to wonder whether that one order of magnitude is clearly there. I personally feel that it's close enough to be worth it for me and the things that I am interested in. But that's different from saying it's there for the entire market.

[00:11] | [computers/programming] | # | TB | F | G | 8 Comments | Other blogs commenting on this post

Heh - well, I'm still doing all my stuff in Seaside because it has the best IDE in the world.  I'm looking at rails lately because I'm looking for a more productive development environment for work that has a larger pool of developers and tools.  Ruby might be it.

I'd love to join the reading group BTW.
Posted by Todd Blanchard at Tue Apr 11 19:20:09 2006

Hi Ted,

The next-generation Ruby VM work is being done under the name of YARV, not sure if you had heard of it or not. So work is being done on that front.


From what I recall of the timeline, though, I'm thinking it won't be mainstream until the end of this year. There is Ruby 1.9 and Ruby 2.0 development going on. The bulk of YARV is going into 2.0, I believe. Which is also known as Ruby-Rite, I think. Its all very hard to follow, I find. :)
Posted by Todd Yocum at Thu Apr 13 18:50:08 2006

You can subscribe to an RSS feed of the comments for this blog: RSS Feed for comments

Add a comment here:

You can use some HTML tags in the comment text:
To insert a URI, just type it -- no need to write an anchor tag.
Allowable html tags are: <a href>, <em>, <i>, <b>, <blockquote>, <br/>, <p>, <code>, <pre>, <cite>, <sub> and <sup>.

You can also use some Wiki style:
URI => [uri title]
<em> => _emphasized text_
<b> => *bold text*
Ordered list => consecutive lines starting spaces and an asterisk





Remember my info?

twl JPG


Ted Leung FOAF Explorer

I work at the Open Source Applications Foundation (OSAF).
The opinions expressed here are entirely my own, not those of my employer.

Creative Commons License
This work is licensed under a Creative Commons License.

Now available!
Professional XML Development with Apache Tools : Xerces, Xalan, FOP, Cocoon, Axis, Xindice
Technorati Profile
PGP Key Fingerprint
My del.icio.us Bookmarks
My Flickr Photos

RSS 2.0 xml GIF
Comments (RSS 2.0) xml GIF
Atom 0.3 feed
Feedburner'ed RSS feed

< April 2006 >
2 3 4 5 6 7 8


Macintosh Tips and Tricks

Blogs nearby
geourl PNG

/ (1567)
  books/ (33)
  computers/ (62)
    hardware/ (15)
    internet/ (58)
      mail/ (11)
      microcontent/ (58)
      weblogs/ (174)
        pyblosxom/ (36)
      www/ (25)
    open_source/ (145)
      asf/ (53)
      osaf/ (32)
        chandler/ (35)
        cosmo/ (1)
    operating_systems/ (16)
      linux/ (9)
        debian/ (15)
        ubuntu/ (2)
      macosx/ (101)
        tips/ (25)
      windows_xp/ (4)
    programming/ (156)
      clr/ (1)
      dotnet/ (13)
      java/ (71)
        eclipse/ (22)
      lisp/ (34)
      python/ (86)
      smalltalk/ (4)
      xml/ (18)
    research/ (1)
    security/ (4)
    wireless/ (1)
  culture/ (10)
    film/ (8)
    music/ (6)
  education/ (13)
  family/ (17)
  gadgets/ (24)
  misc/ (47)
  people/ (18)
  photography/ (25)
    pictures/ (12)
  places/ (3)
    us/ (0)
      wa/ (2)
        bainbridge_island/ (17)
        seattle/ (13)
  skating/ (6)
  society/ (20)

[Valid RSS]

del.icio.us linkblog



Listed on BlogShares

Locations of visitors to this page
Where are visitors to this page?

pyblosxom GIF