{"id":46,"date":"2006-03-19T12:10:42","date_gmt":"2006-03-19T19:10:42","guid":{"rendered":"http:\/\/www.redmonk.com\/cote\/wp\/?p=46"},"modified":"2006-03-19T12:10:42","modified_gmt":"2006-03-19T19:10:42","slug":"mcgovern-comes-out-swingin-on-ruby-in-the-enterprise","status":"publish","type":"post","link":"https:\/\/redmonk.com\/cote\/2006\/03\/19\/mcgovern-comes-out-swingin-on-ruby-in-the-enterprise\/","title":{"rendered":"McGovern Comes out Swingin&#039; on Ruby in the Enterprise"},"content":{"rendered":"<p>It&#8217;s early Sunday morning, so my brain-processing isn&#8217;t quite hiked up enough to write anything cogent about <a href=\"http:\/\/duckdown.blogspot.com\/2006\/03\/more-thoughts-on-ruby-and-why-it-isnt.html\">James McGovern&#8217;s post yesterday on Ruby<\/a>: &#8220;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.&#8221;<\/p>\n<p>Nonetheless, I wanted to say, &#8220;hey, <a href=\"http:\/\/duckdown.blogspot.com\/2006\/03\/more-thoughts-on-ruby-and-why-it-isnt.html\">go check it out<\/a> and write-up what you think.&#8221;<\/p>\n<p>Also, if you haven&#8217;t been Steve on the topic, <a href=\"http:\/\/www.redmonk.com\/sogrady\/archives\/001401.html\">he&#8217;s posted quite a bit recently<\/a>.<\/p>\n<h2>Bullets for Ruby<\/h2>\n<p>With a bit of coffee now, here&#8217;s some additional thoughts:<\/p>\n<ul>\n<li>Note McGovern&#8217;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&#8230;which is an interesting thought-trail on itself.<\/li>\n<li>What I like about <a href=\"http:\/\/duckdown.blogspot.com\/2006\/03\/more-thoughts-on-ruby-and-why-it-isnt.html\">the post<\/a> is that James outlines cultural rather than technical hurdles. The summary that I get is: whether ruby &#8220;works&#8221; 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.<\/li>\n<li>We&#8217;ve frequently advised people that if selling your software to large companies involves mass cultural change in those enterprises &#8212; for example, converting &#8220;messy,&#8221; piece-mail systems into pristine, loosely-coupled SOA systems &#8212; you&#8217;re going to have a hard time at it. My thoughts re: ruby on this topic <a href=\"http:\/\/www.redmonk.com\/cote\/archives\/2006\/02\/java_culture_up.html\">are towards a hybrid, multi-language approach<\/a>.<\/li>\n<li>The same is even truer for language switches, like Java to Ruby, for example. As Bruce Tate <a href=\"http:\/\/www-128.ibm.com\/developerworks\/opensource\/library\/os-lightweight7\/?ca=dgr-lnxw07RubyBetter\">pointed out<\/a>, the success of Java was due in large part from it&#8217;s ability to grab the C\/C++ masses because Java syntax and thought was so (tragically in the end ;&gt;) similar to C\/C++. It&#8217;s not hard to believe that Ruby could\/does face the same challenges.<\/li>\n<li>As time goes by, I&#8217;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.<\/li>\n<li>All that said, as a cautionary note, whenever <a href=\"http:\/\/www.redmonk.com\/cote\/archives\/2006\/03\/myspace_agile_a.html\">warring camps are busy trying to figure out whose navel is the best<\/a>, 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&#8217;ve been having with coders, I would look towards JavaScript to be the swooper if this situation comes up.<\/li>\n<li>It&#8217;s worth separating out &#8220;enterprise software&#8221; into two camps:\n<ol>\n<li>Vendors who write enterprise software to sell to other, non-software companies.<\/li>\n<li>Companies who buy that enterprise software, or write their own custom, <i>non-productized<\/i> enterprise software.<\/li>\n<\/ol>\n<p>My Feel is that James is talking about the second, but I&#8217;ll let him clarify.<\/ul>\n<h2>Did I mention that I <i>like<\/i> Ruby?<\/h2>\n<p>As someone who&#8217;s been the brunt of many &#8220;you don&#8217;t know what you&#8217;re talking about&#8221; replies when it comes to ruby &#8212; check out <a href=\"http:\/\/drunkandretired.com\/podcast\/\">any DrunkAndRetired.com Podcast episode with Ruby in the title<\/a> &#8212; I can guarantee that James will stir up the pot, which is always enjoyable (above navel woes aside).<\/p>\n<p>So as not to look, <a href=\"http:\/\/www.drunkandretired.com\/2006\/02\/24\/drunkandretiredcom-podcast-episode-40-ruby-rake-cryptorchidism-and-version-control\/\">yet again, like I&#8217;m beating up old ladies with lead pipes<\/a> 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.<\/p>\n<p><b>Disclaimer:<\/b> Sun is a client, and <a href=\"http:\/\/www.redmonk.com\/jgovernor\/archives\/001405.html\">as Monkchips James<\/a> says, &#8220;James McGovern is a member of the RedMonk information community, althought is not currently a paying client.&#8221;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>It&#8217;s early Sunday morning, so my brain-processing isn&#8217;t quite hiked up enough to write anything cogent about James McGovern&#8217;s post yesterday on Ruby: &#8220;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.&#8221; Nonetheless, I wanted to say, &#8220;hey, go [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[23],"tags":[],"class_list":["post-46","post","type-post","status-publish","format-standard","hentry","category-programming"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/redmonk.com\/cote\/wp-json\/wp\/v2\/posts\/46","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/redmonk.com\/cote\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/redmonk.com\/cote\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/redmonk.com\/cote\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/redmonk.com\/cote\/wp-json\/wp\/v2\/comments?post=46"}],"version-history":[{"count":0,"href":"https:\/\/redmonk.com\/cote\/wp-json\/wp\/v2\/posts\/46\/revisions"}],"wp:attachment":[{"href":"https:\/\/redmonk.com\/cote\/wp-json\/wp\/v2\/media?parent=46"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/redmonk.com\/cote\/wp-json\/wp\/v2\/categories?post=46"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/redmonk.com\/cote\/wp-json\/wp\/v2\/tags?post=46"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}