{"id":268,"date":"2014-11-26T16:25:24","date_gmt":"2014-11-26T16:25:24","guid":{"rendered":"http:\/\/ninecrows.com\/career\/?page_id=268"},"modified":"2016-02-24T18:38:03","modified_gmt":"2016-02-24T18:38:03","slug":"interesting-tools-for-java-and-jvm","status":"publish","type":"page","link":"https:\/\/ninecrows.com\/career\/information-2\/interesting-tools-for-java-and-jvm\/","title":{"rendered":"Interesting Tools for Java and JVM"},"content":{"rendered":"<p>I&#8217;ve spent a few evenings rummaging around the web, looking for interesting tools and code that is either coded in java or runs on the JVM. There is a lot of material out there. I had been discussing other programming languages with a friend a little while ago and lisp was mentioned. That got me thinking (and clojure as a functional programming oriented lisp dialect particularly got my attention) so this list is currently a bit lisp heavy.<\/p>\n<ul>\n<li><a href=\"http:\/\/www.antlr.org\">ANTLR<\/a> is a java coded parser generator.<\/li>\n<li><a href=\"http:\/\/clojure.org\">Clojure<\/a> is a lisp based functional programming language that generates JVM code and can interoperate with java proper.<\/li>\n<li><a href=\"http:\/\/www.jython.org\">Jython<\/a> is a python compiler that generates JVM code.<\/li>\n<li><a href=\"http:\/\/sisc-scheme.org\">SISC<\/a> is a compiler for the Scheme dialect of lisp that targets JVM code.<\/li>\n<li><a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Mozilla\/Projects\/Rhino\">Rhino<\/a> is a javascript interpreter written entirely in java that originates from the Mozilla folks.<\/li>\n<li><a href=\"http:\/\/jruby.org\">JRuby<\/a> implements the ruby language (which I don&#8217;t know much about, but sounds worth a look) and generates JVM code.<\/li>\n<li><a href=\"http:\/\/common-lisp.net\/project\/armedbear\/\">Armed Bear Common Lisp<\/a> was the first common lisp implementation that I came across that runs on the JVM. There seem to be others out there, but it appears that common lisp implementations are a bit old and ragged at this point (at least the references I could find).<\/li>\n<li><a href=\"http:\/\/www.gnu.org\/software\/kawa\/\">Kawa<\/a> is another scheme implementation \u00a0with JVM support.<\/li>\n<li><a href=\"http:\/\/groovy.codehaus.org\">Groovy<\/a> is in the same category for me as ruby. Sounds interesting, runs on the JVM and I don&#8217;t know much about it.<\/li>\n<\/ul>\n<p>There&#8217;s much more out there and I&#8217;ll probably wind up wandering through it as time passes. I&#8217;ve grabbed snapshots of these projects to mess with. Depending on time and momentum I&#8217;m likely to poke at Clojure and perhaps a bit at some of the other lisp dialects. I haven&#8217;t messed with lisp in a long time (and most of what I have done was gnu emacs lisp) but it seems as if a few interesting things are going on there. A functional programming environment that can be used in conjunction with other methodologies is also very interesting. I can&#8217;t see doing a majority of the things I do in functional land, but having the option of doing tasks that are well suited to that approach using a functional environment is quite interesting.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;ve spent a few evenings rummaging around the web, looking for interesting tools and code that is either coded in java or runs on the JVM. There is a lot of material out there. I had been discussing other programming languages with a friend a little while ago and lisp was mentioned. That got me &hellip; <a href=\"https:\/\/ninecrows.com\/career\/information-2\/interesting-tools-for-java-and-jvm\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Interesting Tools for Java and JVM<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":330,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","meta":{"jetpack_post_was_ever_published":false,"footnotes":""},"class_list":["post-268","page","type-page","status-publish","hentry"],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/P7F2Qc-4k","jetpack-related-posts":[],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/ninecrows.com\/career\/wp-json\/wp\/v2\/pages\/268"}],"collection":[{"href":"https:\/\/ninecrows.com\/career\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/ninecrows.com\/career\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/ninecrows.com\/career\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ninecrows.com\/career\/wp-json\/wp\/v2\/comments?post=268"}],"version-history":[{"count":2,"href":"https:\/\/ninecrows.com\/career\/wp-json\/wp\/v2\/pages\/268\/revisions"}],"predecessor-version":[{"id":270,"href":"https:\/\/ninecrows.com\/career\/wp-json\/wp\/v2\/pages\/268\/revisions\/270"}],"up":[{"embeddable":true,"href":"https:\/\/ninecrows.com\/career\/wp-json\/wp\/v2\/pages\/330"}],"wp:attachment":[{"href":"https:\/\/ninecrows.com\/career\/wp-json\/wp\/v2\/media?parent=268"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}