ArticleS. UncleBob.
JoelOnRuby [add child]

Joel on Ruby

Not Ready for "Enterprisey" Applications.


Joel is right. Joel and I have had our disagreements when it comes to Agile/XP stuff; but lately he said:
 Joel on Software: Language Wars
"Before you flame me, Ruby is a beautiful language and I'm sure you can have a lot of fun developing apps it in [...] but for Serious Business Stuff you really must recognize that there just isn't a lot of experience in the world building big mission critical web systems in Ruby on Rails, and I'm really not sure that you won't hit scaling problems, or problems interfacing with some old legacy thingamabob, or problems finding programmers who can understand the code, or whatnot. So while Ruby on Rails is the fun answer [it's] not a safe choice for at least another year or six. [...] for now, you can risk Ruby on your two-person dormroom startup or your senior project, not for enterprisy stuff where Someone is Going to Get Fired."
Joel is quite right about this. It is not time for Progressive Insurance to change over their whole on-line insurance system to Rails. It is not time for Amazon to leap whole-hog into Ruby. Ebay? No. Dot-Photo? No. It's not time. Not yet.

On the other hand you have to consider that developing applications in Rails is proving to be startlingly more efficient than developing apps in Java or .NET. I don't know the factor, but I wouldn't be surprised to find that it is 2X to 5X less expensive for many applications. The development costs involved could far outweigh the cost of the extra servers needed because of Ruby's less than stellar speed. Therefore even very large eterprisey companies (like big insurance companies) should be taking a very hard and long look at Rails, and conducting some intial experiements.

And in the meantime, many applications that are not as "enterprisey" as an on-line insurance application should feel safe using Ruby. For example, a timesheet entry system for a company of 1000 should not fear to use Ruby. A restaurant POS system should not fear to use Ruby. The Agile 2007 Website and registration system could easily be done in Ruby. Conference sites, training sites, logistic management, blogs, portals, small to medium shopkeepers, etc. These are perfect for Ruby right now.

The energy and creativity in the Ruby space is enormous. It makes the Java/.Net space look stodgy by comparison. This energy and creativity has traditionally been the precursor to the revolutions that have taken place in our industry. Remember the energy that presaged OO and C++. Remember the energy that presaged Java. Who could forget XP and Agile. And now we see the same kind of focused ebullience in the Ruby/Rails space. So I expect that the problems of speed and scaling are going to be solved, and solved quickly; and even the real big "Enterprisey" applications will soon be quite approriate for Ruby.

And remember, the really big "enterprisey" applications do not represent the majority of web applications. Indeed, they don't even come close. So the other 95% of all web applications probably could, andshould, be done in Ruby now.

!commentForm -r
 Tue, 5 Sep 2006 02:21:09, nraynaud, typo
there is a little typo in the article URL protocol (please remove this message after correction).

(I *hate* roman numbers)
 Mon, 4 Sep 2006 19:37:22, jb, Umm
Bob is clearly agreeing with Joel that RoR[?] is not ready for "Big mission critical web systems." Joel then gives examples of where it is absolutely valid, and then finishes with "Don't do it for enterprisey stuff where Someone is Going to Get Fired."

And Bob gives a number of examples of applications that would not "Get Someone Fired" if things go wrong as the kinds of applications that one could build in Rails.

Reading Comprehension is a snark's best friend.

 Mon, 4 Sep 2006 12:30:17, Will Liu, Pretending to agree
Don't you hate it when people pretend to agree while disagreeing?

Joel suggested that Ruby is appropriate for two person dorm room startup and senior projects. That's why he didn't have his summer intern use it.

Bob believes that it is ready for a 1000 person company. He believes that it is ready for a host of applications such as retail, training, logistics etc. In fact, he believes that it is ready for 95% of all web applications.

Somebody, see a disconnect here? Or, is it a case of, as Bob puts it "Joel is right"; and repeats "Joel is quite right about this".