Skip to content

McGovern Comes out Swingin' on Ruby in the Enterprise

It’s early Sunday morning, so my brain-processing isn’t quite hiked up enough to write anything cogent about James McGovern’s post yesterday on Ruby: “Ruby, to me feels like a trainwreck waiting to happen. So lets list out reasons why Ruby currently makes zero sense for developing enterprise applications.”

Nonetheless, I wanted to say, “hey, go check it out and write-up what you think.”

Also, if you haven’t been Steve on the topic, he’s posted quite a bit recently.

Bullets for Ruby

With a bit of coffee now, here’s some additional thoughts:

  • Note McGovern’s strategic move to get PHP out of the argument, and narrow down to just Ruby. Better to fight one dynamic language than all of them…which is an interesting thought-trail on itself.
  • What I like about the post is that James outlines cultural rather than technical hurdles. The summary that I get is: whether ruby “works” in the enterprise or not has nothing (now) to do with the actual software/code itself, but entirely to do with the extra-code issues: perception, support, and training.
  • We’ve frequently advised people that if selling your software to large companies involves mass cultural change in those enterprises — for example, converting “messy,” piece-mail systems into pristine, loosely-coupled SOA systems — you’re going to have a hard time at it. My thoughts re: ruby on this topic are towards a hybrid, multi-language approach.
  • The same is even truer for language switches, like Java to Ruby, for example. As Bruce Tate pointed out, the success of Java was due in large part from it’s ability to grab the C/C++ masses because Java syntax and thought was so (tragically in the end ;>) similar to C/C++. It’s not hard to believe that Ruby could/does face the same challenges.
  • As time goes by, I’m ever more convinced that history repeats itself in the technology world, usually at the same pace that it did in the past. The history of Java, JavaScript, Python, Perl, and PHP in the enterprise are no doubt a good indication of where Ruby is and will go.
  • All that said, as a cautionary note, whenever warring camps are busy trying to figure out whose navel is the best, others have a chance to swoop in and TCB those two camps out of business. The disrupters can be, and often are, disrupted. From the dork-talk I’ve been having with coders, I would look towards JavaScript to be the swooper if this situation comes up.
  • It’s worth separating out “enterprise software” into two camps:
    1. Vendors who write enterprise software to sell to other, non-software companies.
    2. Companies who buy that enterprise software, or write their own custom, non-productized enterprise software.

    My Feel is that James is talking about the second, but I’ll let him clarify.

Did I mention that I like Ruby?

As someone who’s been the brunt of many “you don’t know what you’re talking about” replies when it comes to ruby — check out any Podcast episode with Ruby in the title — I can guarantee that James will stir up the pot, which is always enjoyable (above navel woes aside).

So as not to look, yet again, like I’m beating up old ladies with lead pipes when I say, or link to, anything negative about Ruby, allow me to disclaim: I like ruby, and I want it to be successful. But, my view on the topic tends to be more long term rather than the trench-by-trench battles that people like James McGovern and the hordes of Ruby doughboys find themselves involved in more and more.

Disclaimer: Sun is a client, and as Monkchips James says, “James McGovern is a member of the RedMonk information community, althought is not currently a paying client.”

Categories: Programming.

Comment Feed

10 Responses

  1. This "Your comment was denied for questionable content" thing is probably really hurting your comments. I've combed this comment twenty times and I could probably get it by the Pope at this point 🙁

  2. (I manually addded this comment from Ryan Tomayko. –Coté)

    Hope I'm not suppose to play the Ruby zealot on this one because it
    seems like a good evaluation of the present situation. We're not all
    hot-house flowers over here and we certainly understand our current
    position in the big-E enterprise. The larger Ruby (and dynamic
    language community in general) understands the benefits of objective
    criticism and debate and I hate to see you spreading disclaimers
    throughout your posts for fear of attracting the troll-brigade.

    But let me just suggest that negative opinion isn't what gets
    people excited, it's the condescension. I think where we run into
    problems is when McGovern puts on his authoritative end-all/know-all
    Enterprise Architect hat instead of trying to have a conversation. For
    instance, what was he on about wrt Ruby books?

    While there are lots of books on Ruby, none of them are
    good. Most are mediocre and deal with the simplistic aspects of
    writing software

    I mean, why not just leave that out?

    We seem to have a reputation for being childish or overzealous
    while this kind of stuff gets passed around as conventional wisdom. I
    don't see how McGovern recent posts can be considered "Thought
    Leadership", or any kind of leadership for that matter.

  3. I like Ruby too. I’ll use it when I can. I also agree that it’s not an enterprise solution yet. I can see it working its way into niches (Rails for intranet applications seems a pretty reasonable opportunity) but there are other obstacles, not least the Catch-22 of people: companies like to position themselves in a space where suitably-skilled people are readily available. There won’t (and from a risk perspective, shouldn’t) be an enterprise-wide adoption of Ruby without a conviction that a pool of Ruby-literate developers exist within the company’s catchment area. Of course, people (the second rank of developers at least) will be less well motivated to learn Ruby if there are no employers looking for that skill.

    A “mainstream” IDE/toolset wouldn’t hurt, either. Full integration into Eclipse would be a selling point. You and I know it’s rather less important in Ruby than it is for C#, say, but I can see how the corporate IT managers would feel happier if every developer’s PC were running the same editor…

    So the adoption of Ruby is likely to be a stealth/guerilla/niche thing for some time yet. If it really is a major language of the future then the necessary critical mass will have to be achieved below the surface, prior to a sudden explosion into visibility. It might happen. I rather hope it will.

    Mike WoodhouseMarch 20, 2006 @ 4:32 am
  4. McGovern needs to go back over that entry; My High School English teacher would've given me an F on it for the crappy grammar and numerous typos/mispellings.

    The point about the books is somehting I want to comment on though: Why in God's name should books on a language or Framework cover higher level aspects of writing software? Shouldn't books on architecture be about architecture by itself instead of architecture in a specific language or framework?

    Have we yet to rise above the falsehood that a language is more important than experience and wisdom in software design? Ruby doesn't have any magic sauce for your architecture (aside from a few modules that implement some of the class GoF patterns), it just makes some of those low level details easier to handle. Those are the productivity gains that Ruby realizes, and I'm not sure why it's important that Ruby doesn't give you the silver bullet for the architecture.

    Heed the wisdom of the Japanese automaker: Make better every piece you can.

    DannoMarch 20, 2006 @ 7:57 am
  5. Coté

    A bit of controversy is always good for everyone. CIOs who haven’t heard of Ruby probably do now. 🙂

    James McGovern has been very careful with what he’s saying. And he’s carefuly left out the logical conclusion so that people like us get to bite the bait. This is game theory at its best.


  6. This just got really bad. McGovern put up yet another post and it’s unbelievably inaccurate on very basic levels. The previous statement about books becomes even more interesting because it’s obvious he’s not spent 15 minutes reading anything related to the language. I’m done, signing off on this one. It’s a waste of time. I’m literally sick to my stomach.

  7. It’s worth separating out “enterprise software” into two camps:

    There are actually 2 kinds of people in the world:

    People who divide the world into 2 groups of people.
    People who don’t.

    Couldn’t resist! I think this is close to the center of the debate (or maybe just one of a few key epicenters?). I’ll be interested to see how long it takes for vendors to show up at the doors of large companies with systems implemented primarily on Ruby. I think step 1 will actually be in your second category, and will involve JRuby. I can see some of the larger vendors with JEE implementations bringing in the Ruby syntax for scripting and some types of customization.

    Man did this powder keg explode.

  8. Yes, finally someone who gets that 99% of my message was all about the human aspects of technology aka cultural.

    Yes, Javascript has more power to be useful within the enterprise than Ruby does. You should talk about this aspect more.

    See latest posting on my reason for bashing books. It is all about declarative living and increasing transparency. You will learn even more facts (different from perspective) on this particular aspect of book authoring.

    Wasn’t even thinking about the difficulty in language switching. You should talk about the characteristics of when/why enterprises are willing to make a switch.

    As far as which definition of enterprise software, my general thinking tends to lean towards number 2.

  9. Providing direction in enterprise IT is like steering the Titanic, but the helm steering mechanism is akin to that used in theatre arcade stuffed-doll machines. So you turn and turn and after awhile realize that WYSINWYG and a big chunk of ice is floating dead ahead and that's when you wish you had ordered those Ruby lifeboats.
    Ruby in the enterprise or not, Ruby will be used. The sum of non-enterprise Ruby users will soon outstrip any number of enterprise Ruby users and possibly someday even the number of enterprise *non-Ruby* users as well.

    Ruby doesn't "need" a particular market to be successful.

    Aside: Mr. McGovern's writing – a conglomeration of factual, logical, rhetorical and grammar errors – is some of the poorest seen in these parts in awhile. It _hurts_ to read that writing!-)

    G. RoperApril 7, 2006 @ 10:46 am
  10. Given your line of reasoning about the evolution
    of languages, and that to succeed – evolutionarily
    speaking- a language has to have C-like syntax…
    Groovy would be the logical contender to Ruby
    (not JRuby, even though JRuby is Sun-sponsored)
    Groovy is closer to Java than Ruby is… and
    JRuby is nothing but pure Ruby running atop
    a Java Virtual Machine.

    But then… Ruby borrowed from Perl, Smalltalk
    and Python, and looks nothing like C, and
    one could say that Ruby is *already*
    successful in its own way powering a lot
    of the web2.0 startups.
    And both Sun and Microsoft now have
    implementations of Ruby.

    So in the end, I guess it all depends on what
    you mean by the word *success*.

    Ubiquitous Ruby applications in Fortune 500
    companies, perhaps ?

    Some nice reading, and food for thought,
    so thanks for the article.


    Uma GellerJune 28, 2007 @ 3:21 pm