{"id":57,"date":"2007-09-22T08:39:39","date_gmt":"2007-09-22T12:39:39","guid":{"rendered":"http:\/\/danielroop.com\/blog\/2007\/09\/22\/jruby-vs-groovy\/"},"modified":"2007-09-22T22:33:38","modified_gmt":"2007-09-23T02:33:38","slug":"jruby-vs-groovy","status":"publish","type":"post","link":"http:\/\/danielroop.com\/blog\/2007\/09\/22\/jruby-vs-groovy\/","title":{"rendered":"JRuby vs Groovy"},"content":{"rendered":"<p>Lately at my office there has been some conversation about dynamic languages, and which one we should be investigating to replace dead languages like, ColdFusion, there I said it. Luckily one of the dynamic language junkies left to go work for Netscape, now <a href=\"http:\/\/www.propeller.com\">Propellar<\/a>, because he was a Python fan boy. I looked a little into Python and I hear tons of people probably would use <a href=\"http:\/\/www.djangoproject.com\/\">Django<\/a> over <a href=\"http:\/\/rubyonrails.org\/\">Rails<\/a> had it been out sooner. That being said, I am glad that is one less language we need to look into before we can come to the conclusion that all of them are better than what we currently have.<\/p>\n<p>So where does that leave us?  Well there is myself, the Ruby\/JRuby advocate, and <a href=\"http:\/\/brianlegros.com\/blog\">Brian<\/a> the hardcore Enterprise Java\/<a href=\"http:\/\/groovy.codehaus.org\/\">Groovy<\/a> advocate.  Fortunately Groovy does not have a web presence comparable in matruity to Rails.  While <a href=\"http:\/\/grails.codehaus.org\/\">Grails<\/a> is making great strides, from what I hear the author is still not convinced it is production ready. Brian however made a strong case for using it as it gets closer to maturity because it has been designed from the ground up to be integrated with existing J2EE standards, like <a href=\"http:\/\/java.sun.com\/products\/jta\/\">JTA<\/a> and <a href=\"http:\/\/java.sun.com\/javaee\/overview\/faq\/persistence.jsp\">JPA<\/a>.<\/p>\n<p>I have stated many times in this on going discussion that I am up for using whatever language we all agree to best suit our needs, and if it is Groovy I am all for it.  I just don&#8217;t think our existing ColdFusion\/Java\/Flex combo is the most productive stack we could be using.  That being said I bought into Brian&#8217;s argument, until I read the ever opinionated DHH&#8217;s recent blog <a href=\"http:\/\/www.loudthinking.com\/posts\/11-sun-surprises-at-railsconf-europe-2007\">post<\/a> about Sun&#8217;s Craig McClanahan Keynote at RubyConf Europe.  This is the guy who worked on Struts and <abbr title=\"Java Server Faces\">JSF<\/abbr> and he is advocating Rails usage.  The only thing this article reminded me of was that Sun has brought the JRuby team in house, while Groovy was not invited.<\/p>\n<p>To me that seems like Java is going to work a lot harder to get JRuby up to snuf with it&#8217;s standards and have the money and manpower to make that happen.  You may doubt their support for JRuby but with the quick turn around on <a href=\"http:\/\/www.netbeans.org\/kb\/60\/ruby-index.html\">Netbeans with Ruby<\/a> support, I don&#8217;t think you can question their commitment to the language.<\/p>\n<p>So as much as I like what Groovy has done for the Java community and believe that there is room on the JVM for more than two languages.  I think Sun is going to put their weight behind JRuby and over time will stay ahead of Groovy with support and quality of implementation of the Java Specifications.  I could be completely off in this assumption, but the evidence seems to point to my observation.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Lately at my office there has been some conversation about dynamic languages, and which one we should be investigating to replace dead languages like, ColdFusion, there I said it. Luckily one of the dynamic language junkies left to go work &hellip; <a href=\"http:\/\/danielroop.com\/blog\/2007\/09\/22\/jruby-vs-groovy\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[52,55],"tags":[31,60,59,27,22,20],"class_list":["post-57","post","type-post","status-publish","format-standard","hentry","category-development","category-languages","tag-coldfusion","tag-grails","tag-groovy","tag-java","tag-rails","tag-ruby"],"_links":{"self":[{"href":"http:\/\/danielroop.com\/blog\/wp-json\/wp\/v2\/posts\/57","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/danielroop.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/danielroop.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/danielroop.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/danielroop.com\/blog\/wp-json\/wp\/v2\/comments?post=57"}],"version-history":[{"count":0,"href":"http:\/\/danielroop.com\/blog\/wp-json\/wp\/v2\/posts\/57\/revisions"}],"wp:attachment":[{"href":"http:\/\/danielroop.com\/blog\/wp-json\/wp\/v2\/media?parent=57"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/danielroop.com\/blog\/wp-json\/wp\/v2\/categories?post=57"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/danielroop.com\/blog\/wp-json\/wp\/v2\/tags?post=57"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}