{"id":97,"date":"2006-05-17T23:33:57","date_gmt":"2006-05-18T04:33:57","guid":{"rendered":"http:\/\/www.juixe.com\/techknow\/index.php\/2006\/05\/17\/groovy-on-the-jvm\/"},"modified":"2006-05-17T23:33:57","modified_gmt":"2006-05-18T04:33:57","slug":"groovy-on-the-jvm","status":"publish","type":"post","link":"http:\/\/juixe.com\/techknow\/index.php\/2006\/05\/17\/groovy-on-the-jvm\/","title":{"rendered":"Groovy On The JVM"},"content":{"rendered":"<p>I attended the Groovy = Java Tech + Ruby + Python for the JVM session.  This is a simple equation that makes a lot of sense to me, especially since I develop a lot of Groovy scripts at work.  This session was a 101 introduction to groovy.  Rob Cope of OpenLogic did a great job at describing the dynamic aspect of Groovy, Closures, Groovy Markup builders such as AntBuilder and XmlBuilder, and the the GDK extensions.<\/p>\n<p>For those not familiar to Groovy.  Groovy is a object-oriented dynamic language that runs on the JVM.  In Groovy, static typing and semicolons are optional.  Groovy has a lot of built-in features missing in Java, such as regular expressions.  A great feature of groovy is that it compiles to a class file which can be used in a Java application.  According to Rob, &#8220;your boss can&#8217;t tell if you are using Groovy.&#8221;<\/p>\n<p>The one feature of Groovy that I was not at all familiar with was the Scriptom.  Scriptom gives you access to COM objects, in a fashion that is similar to VBScript developers.  Rob shows demoed Scriptom, he opened Microsoft Excel added values, created a chart, saved the chart to the file system, created a JFrame with a button that use the chart as an icon.  More amazing is that he did this without restarting or closing or rebuilding anything.<\/p>\n<p>I am seriously thinking of replacing all our VBscript dependencies from our application.  We use VBScript to open and print Word and Excel documents.  With Groovy and Scriptom I could do this in the JVM.<\/p>\n<p>Technorati Tags: <a href=\"http:\/\/technorati.com\/tag\/javaone\" rel=\"tag\">javaone<\/a>, <a href=\"http:\/\/technorati.com\/tag\/java\" rel=\"tag\"> java<\/a>, <a href=\"http:\/\/technorati.com\/tag\/groovy\" rel=\"tag\"> groovy<\/a>, <a href=\"http:\/\/technorati.com\/tag\/closures\" rel=\"tag\"> closures<\/a>, <a href=\"http:\/\/technorati.com\/tag\/scriptom\" rel=\"tag\"> scriptom<\/a>, <a href=\"http:\/\/technorati.com\/tag\/vbscript\" rel=\"tag\"> vbscript<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I attended the Groovy = Java Tech + Ruby + Python for the JVM session. This is a simple equation that makes a lot of sense to me, especially since I develop a lot of Groovy scripts at work. This session was a 101 introduction to groovy. Rob Cope of OpenLogic did a great job [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":"","footnotes":""},"categories":[15,3,5],"tags":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p902K-1z","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"http:\/\/juixe.com\/techknow\/index.php\/wp-json\/wp\/v2\/posts\/97"}],"collection":[{"href":"http:\/\/juixe.com\/techknow\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/juixe.com\/techknow\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/juixe.com\/techknow\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/juixe.com\/techknow\/index.php\/wp-json\/wp\/v2\/comments?post=97"}],"version-history":[{"count":0,"href":"http:\/\/juixe.com\/techknow\/index.php\/wp-json\/wp\/v2\/posts\/97\/revisions"}],"wp:attachment":[{"href":"http:\/\/juixe.com\/techknow\/index.php\/wp-json\/wp\/v2\/media?parent=97"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/juixe.com\/techknow\/index.php\/wp-json\/wp\/v2\/categories?post=97"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/juixe.com\/techknow\/index.php\/wp-json\/wp\/v2\/tags?post=97"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}