Ruby Punditry: The Ruby Conspiracy
Being very pragmatic, I like to hear the pluses and minuses for given cases and make a decision on my own. I’m not usually quick to “drink the KoolAid” which does make people grumpy from time to time, but I’d rather make a bad decision on my own after evaluating as much information as I can instead of trusting the opinion of Lemmings to tell me what is good.
Providing an opposing view of Ruby On Rails, Greg Luck just wrote a post from OSCON concerning what he calls the “The Ruby Conspiracy“.
Who are those who are benefiting from Ruby on Rails? Answer: O’Reilly Publishing, the authors Bruce Tate and Dave Thomas and a handful of consultants. At last year’s conference, Tim O’Reilly had carefully analyzed his book sales and was desperate to identify the next big thing. Same for the pragmatic programmers and for consulting companies wishing to push the next big thing. C# had been and is a disappointment. Despite a huge push it refuses to move up the Tiobe programming index. I get the feeling that everyone needs a next big thing, and if there is not one, they create it.
After reading the post as well as my own personal opinion about the new web frameworks, I’d have to agree with him. I think things like Ruby on Rails and Django are good general purpose frameworks for developing standard web applications which are self-contained. Once you get into the enterprise space, it doesn’t make a lot of sense to me to go with “exotic” platforms because of the lack of driver support, integration/monitoring/performance facilities, being able to offer the software as encapsulated services, etc.
If I were starting a new website or web company from scratch would I consider those frameworks? You bet. Would I recommend building a new production capable service or product from scratch using them in an enterprise (although there are certainly some pretty compelling use cases to use them in a few select roles)? Probably not.
July 26th, 2006 at 4:44 pm
these are my thoughts also (admittedly with less conspiracy theory and more people getting sucked in with the hype).
there’s no doubt that RoR can do some great stuff but it’s really for new sites, not legacy systems. the last job had a db schema that would have meant throwing Rails away and reverting to coding Ruby by hand… if you could get the driver for it (you can’t: informix).
People always forget about maintainance and the years to follow.
sure it works… down hill with a tailwind!
July 26th, 2006 at 6:15 pm
Have you read Martin Fowler’s take on “enterprise” RoR?
http://martinfowler.com/bliki/EnterpriseRails.html
July 26th, 2006 at 10:41 pm
Nope, I haven’t seen that– thanks for the link Sean.
Looks like he’s been using Ruby as his light/fun language for quite awhile:
http://www.martinfowler.com/bliki/RubyPeople.html
July 26th, 2006 at 11:19 pm
I forgot to mention, I’m obviously a fan of agile languages as “glue” (ie.. my interest in languages like ColdFusion and Python), especially when integrating legacy systems in an SOA manner, and I think they are a great way to put things together. However I’m not sure that building a full enterprise service on one of those platforms would be in the best interest of a large enterprise. Sometimes the big iron really is appropriate (though EJB makes the baby Jesus cry).
August 6th, 2006 at 4:12 pm
I still don’t know what enterprise means. Does running sites for the Washington Post count?
I don’t mean to sound snarky, I’m just genuinely confused as to what people mean when they say “enterprise”.
August 7th, 2006 at 12:35 am
Simon,
To me, a wide variety of applications can be considered Enterprise applications. At the low end, it could involve a web application which is clustered, fault-tolerant, and uses many servers to provide services. At the high-end, it would be something to the effect of it being a small piece of an Enterprise Architecture, which contains many large disparate systems which work with each other, such as the various applications used in a bank.
Likewise I’m not being snarky, but Wikipedia has a decent but curt definition of what an Enterprise Application is as well.
And hey, thanks for reading. I assume you’re a Django developer for the Times? I’ve been playing with it quite a bit over the past few months and love it.
August 7th, 2006 at 12:39 am
Oh, nevermind, I see that you work at Yahoo!.