This is a single archived entry from Stefan Tilkov’s blog. For more up-to-date content, check out my author page at INNOQ, which has more information about me and also contains a list of published talks, podcasts, and articles. Or you can check out the full archive.

Enterprisey

Stefan Tilkov,

It started out with a pretty embarrassing post by self-proclaimed industry thought leader James McGovern, and an equally stupid follow-up.

Lots of people followed up on this, including (predictably) Rails creator David Heinemeier Hansson, twice, Microsoft’s Dare Obasanjo, Charles Oliver Nutter, and (indirectly) Jeff Schneider.

McGovern argues that all of those Ruby folks have no clue about enterprise computing, all of the others (except Jeff) claim that if all of those web technologies are good enough for Google, they’re good enough for anything, and Jeff seems to want to keep his options open.

My take is that developing software for real use — as opposed to building it for educational purposes or simply for fun — is hard, no matter which technology you use. Is it possible to build enterprise software using Ruby and plain XML over HTTP? Of course it is, just as it is possible to do so using, say, Java and SOAP over JMS.

“Enterprise”, to me, is a) burdened with the need to integrate lots of existing applications, a decidedly small percentage of which is built using technology that anyone would consider “cool” nowadays and b) much more related to politics than to reasonable arguments. So even if you believe that Ruby and Ruby on Rails is far more productive than any Java web framework — I do —, and even if you believe that building systems RESTfully is The Better Way™ — as I do —, you might end up doing, and even recommending, the exact opposite. As I do.

I have zero doubts, though, that neither Java nor the WS-* stack, as it’s evolving today, will remain largely unchallenged in the Enterprise for much longer.

On April 7, 2006 1:04 PM, James said:

I think you are right on one aspect of enterprise computing in that it has as a component the need to integrate with other systems in which Ruby doesnt really address. Do you believe that Ruby should step up?