Friday, April 07, 2006

Rails won't become mainstream?

I was surfing digg this morning and came across this blog entry by entitled "Why Ruby on Rails won't become mainstream." In it the author (Cedric) points out alot of the _potential_ barriers to Ruby (and Rails) becoming mainstream. Hold Up!! Before you let your indignation get the best and take off to rip him a new one please take note of you take this one little peice of information. He's a Rails lover! Cedric make's alot of good/valid points but I don't agree with his conclusion and as a VERY recent Ruby on Rails convert perhaps I can contribute a different perspective. My comments below to his list of reasons


1) Cedric says that one barrier is Ruby itself and getting it into the toolbox of the PHP/ASP crowd. Ruby _DOES_ have some advanced idioms. I'm still learning Ruby, but I can tell you from experience that I was able to take the Agile Web Development with Rails book and read it, go through the examples and when I was done doing so I was comfortable using Ruby. I hit the API and language references alot and I'm planning on getting the Pickaxe book but once you start to "get" Ruby (which for me was almost immediately) it is straightforward to use

2) Cedric thinks that Rails itself will hinder mainstream adoption because it is complex, does alot for you automagically, and is incredibly clever. He isn't sure that the Web Development community (which, let's remind ourselves, isn't made up entirely of quality, trained software engineers) will ever be ready to embrace the cleverness and magic. I'm not sure how I feel about this one yet except to say that I think Rails gives developers a better chance of building a product well within a reasonable schedule. There are fewer pitfalls than starting from scratch w/ PHP or using other frameworks and languages. Perhaps if we lead by example, they will follow.

3) The author claims that Rails Still has no credible IDE. This is the one point where Cedric is just plain wrong. RadRails is an AWESOME Rails plugin for Eclipse!

4) Next, fanatacism. Cedric thinks that the extreme fanatacism of some in the Rails community will hinder Rails. Now I have to agree here to a certain extent. We need to stop BASHING people who discount Rails and simply prove them wrong. Actions speak louder than words! Build some killing enterprise Rails apps. Don't insult James McGovern, disprove him. The other danger with the ultra-fanatacism that I've pointed out before is that some people look at Rails as a hammer and everything that can possibly show up in a browser window a nail! This is dangerous! Read my "no silver bullets" post to get my opinion on this.

5) The author's next point is that by being so great so soon Rails will stifle innovation in the area of Ruby web frameworks and that because Rails is the only game in town Rails itself will be stifled. This NEVER crossed my mind and I think the reason for that is because I lump ALL web development frameworks into the same bucket regardless of language. I think others tend to do this as well. Although it's important to distinguish which languages and frameworks are good for particular types of problems I believe that if somebody does something REALLY cool in one language/framework it tends to make its way into others. Case in point Grails, Trails, CakePHP, and many more. Rails has single handedly reinvigorated the web development platform and infused it with a fresh perspective! In the future Rails may benefit from the same effect caused by another framework

6) Next Cedric points out that Rails' Enterprise capabilities and scalability unclear. This is a common concern and one that needs to be put to rest. The Rails community needs to nail down the sweetspot of Rails once and for all in a mathematical way. Can a Rails app handle the type of traffic that slashdot and digg see everyday? If we built a peopleSoft type HR app for a company intranet with Rails could it scale when there are thousands of users worldwide constantly coming in and out and the server is seeing hundreds of transactions per second? I have no idea. Let's find out where Rails breaking point is (if there is one... I have no clue.)

7) Cedric's final point is
Lack of support from Internet Providers. On this one I'm sort of in the "If you build it, they will come" mentality. Has PHP always enjoyed mainstream Internet Provider support? Maybe in the short term we're going to have to host our own servers or get dedicated servers but there is already a slew of providers with support for rails hosting.

Wow, a long retort! In closing I guess I should thank Cedric for starting this conversation from the perspective of a Rails supporter! The debate that will follow will surely be beneficial for the community.

Comments:
> I'm still learning Ruby, but I can tell you from experience that I was able to take the Agile Web Development with Rails book and read it, go through the examples and when I was done doing so I was comfortable using Ruby.

Here's the thing: not everybody is as smart as you. I make this mistake all the time. I think that just because *I* think something is really easy, then it must be easy.

Imagine the average person. About 50% of people are dumber than that.

Average web developers struggle with anything but the simplest JavaScript and PHP. It's very likely that Ruby is simply out of their reach. Sure, if they studied hard they might become proficient, but why would they do that if they already know PHP?
 
Great post Schep! I agree that the enterprise validity of Rails must be confirmed before it will ever go "mainstream". I think the entire idea of mainstream is questionable - when did Java become mainstream? 1.2? Clinton scandal? I think Rails will be able to become the defacto dev tool for mid-level sites/appz. I think the best way for that to happen might be the introduction into the education level? Thanks for the thoughts!
 
Excellent points. I recall when you could hardly get an ISP that offers PHP. It was all .asp and cgi/perl... Then within about a year everyone and his dog had PHP installed on a webserver. :: shrug ::

I have some ideas about the enterprise in my counterpoint article:

http://greenmeggsandspam.blogspot.com/
 
Don't have such a low threshold for measuring success. Success is Java, .NET, XML, Web Services, SOA, etc. Ruby has potential and an upward trajectory but can't yet be called successful.

In terms of getting large enterprises whose primary business model isn't technology involved in Ruby benefits Ruby by the simple fact that this demographic represents 90% (The masses) of all IT folks. More importantly, this same demographic has 590% more capital than the 10% that Ruby currently has. Capital allows folks to accelerate the growth, features and adoption of all the hard work the Ruby community put into it.

You should noodle this thought and even if you agree slightly, you should amplify it in your next blog entry...
 
This post has been removed by a blog administrator.
 
I know I am late to the party... In response to the first post by Jim. I am no genius web developer, I also don't suck. In fact I always say that I am good acid test for technology. Meaning, if I can wrap my head around it (some gadget, concept, language, ect) then most people can. I was an ASP developer for 5 years and I didn't really get it until I had done it for 3 years. I think that says volumes. Anyway, my point is... I think the "magic" is easily understood and anyone with a passion for web development can enjoy it, use it and build some fantastic apps. That's my 2 cents
 
Post a Comment

Subscribe to Post Comments [Atom]



Links to this post:

Create a Link



<< Home

This page is powered by Blogger. Isn't yours?

Subscribe to Posts [Atom]