Are there any true scripting languages for the JVM?

Posted on May 30, 2007 
Filed Under Programming

<meta content="OpenOffice.org 2.0 (Linux)" name="GENERATOR" /><meta content="Thomas Gissel" name="AUTHOR" /><meta content="20070530;22090100" name="CREATED" /><meta content="16010101;0" name="CHANGED" /><br /> <style type="text/css"> <!-- @page { size: 8.5in 11in; margin: 0.79in } P { margin-bottom: 0.08in } --> </style> <p>Dynamic scripting is all the buzz in the programming world and the Java community seems determined to not be left behind. To keep pace with the likes of Ruby, Java is introducing dynamic languages at a rapid pass. Some of the more popular languages are: Jacl, Jython, BeanShell, Groovy, and Mozilla Rhino. There is even a JSR, 223, aimed at making scripting a first class citizen for the Java Platform.</p> <p>Given the large number of dynamic languages for the Java developer to choose from one wonders if any of them are true scripting languages? Not in my mind. For something to be a true scripting language it must be useful for System Administration. Perl, Python, Bash, C shell, Korn shell and Bourne shell (among others) all pass this test while the Java scripting languages do not. All the JVM based languages are missing two key elements to be useful for System Administration: lightning fast start-up, and low level hooks to the Operating System.</p> <p>Far be it from me to pose a problem without offering a solution. So, first we need to hook the JVM into the OS. Lucky there are several pre-built packages that get us most of the way there; including: Jtux and Posix for Java. Now we need a lightning fast JVM. Hmm, that is a little harder to come by. Is 50% a passing grade?</p> <p><script type="text/javascript">SHARETHIS.addEntry({ title: "Are there any true scripting languages for the JVM?", url: "http://singlethreaded.org/blog/2007/05/30/are-there-any-true-scripting-languages-for-the-jvm/" });</script></p><div style="clear:both;"></div> <!-- <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/"> <rdf:Description rdf:about="http://singlethreaded.org/blog/2007/05/30/are-there-any-true-scripting-languages-for-the-jvm/" dc:identifier="http://singlethreaded.org/blog/2007/05/30/are-there-any-true-scripting-languages-for-the-jvm/" dc:title="Are there any true scripting languages for the JVM?" trackback:ping="http://singlethreaded.org/blog/2007/05/30/are-there-any-true-scripting-languages-for-the-jvm/trackback/" /> </rdf:RDF> --> <h3>Comments</h3> <!-- You can start editing here. --> <div id="commentblock"> <p id="comments"><b>2 Responses to “Are there any true scripting languages for the JVM?”</b></p> <ol class="commentlist"> <li class="alt" id="comment-9"> Sai Rathnam on June 1st, 2007 3:17 pm <div class="commenttext"> <p>Good points. The Java world will have to figure out solutions to these problems in order to be a part of the dynamic scripting landscape.</p> </div> </li> <li class="" id="comment-103"> <a href='http://www.testdriven.com' rel='external nofollow'>David Vydra</a> on August 4th, 2007 6:01 pm <div class="commenttext"> <p>I think these are all scripting languages that can be either executed inside a JVM or on top of an OS. You can think of a JVM as kind of an OS, since apps often stay in the same process for very long periods of time, and folks working in Java have similar needs for a scripting language as folks working closer to the OS.</p> </div> </li> </ol> <p id="respond"><b>Leave a Reply</b></p> <form action="http://singlethreaded.org/blog/wp-comments-post.php" method="post" id="commentform"> <p><label for="author">Name (required)</label><br /> <input type="text" name="author" id="author" value="" size="40" tabindex="1" /></p> <p><label for="email">Email Address(required)</label><br /> <input type="text" name="email" id="email" value="" size="40" tabindex="2" /></p> <p><label for="url">Website</label><br /> <input type="text" name="url" id="url" value="" size="40" tabindex="3" /></p> <!--<p><small><strong>XHTML:</strong> You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong> </small></p>--> <p><textarea name="comment" id="comment" cols="50" rows="10" tabindex="4"></textarea></p> <p><input name="submit" type="submit" id="submit" tabindex="5" value="Submit Comment" /> <input type="hidden" name="comment_post_ID" value="10" /></p> </form> </div> </div> <!-- begin sidebar --> <div id="sidebar"> <ul id="sidebarwidgeted"> <li id="Recent"> <h2>Recently Written</h2> <ul> <li><a href='http://singlethreaded.org/blog/2008/05/29/scaling-at-ebay/' title='Scaling at ebay'>Scaling at ebay</a></li> <li><a href='http://singlethreaded.org/blog/2008/04/11/what-is-real/' title='What is real?'>What is real?</a></li> <li><a href='http://singlethreaded.org/blog/2008/04/10/apparently-this-guy-hasnt-heard-the-news/' title='Apparently this guy hasn’t heard the news'>Apparently this guy hasn’t heard the news</a></li> <li><a href='http://singlethreaded.org/blog/2007/10/17/steve-loves-us-he-really-loves-us/' title='Steve loves us, he really loves us'>Steve loves us, he really loves us</a></li> <li><a href='http://singlethreaded.org/blog/2007/10/11/nerds-vs-the-new-apple/' title='Nerds vs the new Apple'>Nerds vs the new Apple</a></li> </ul> </li> <li id="Categories"> <h2>Categories</h2> <ul> <li class="cat-item cat-item-5"><a href="http://singlethreaded.org/blog/category/life-imitating-art/" title="View all posts filed under Life Imitating Art">Life Imitating Art</a> </li> <li class="cat-item cat-item-2"><a href="http://singlethreaded.org/blog/category/linux/" title="View all posts filed under Linux">Linux</a> </li> <li class="cat-item cat-item-6"><a href="http://singlethreaded.org/blog/category/misc/" title="View all posts filed under Misc">Misc</a> </li> <li class="cat-item cat-item-3"><a href="http://singlethreaded.org/blog/category/programming/" title="View all posts filed under Programming">Programming</a> </li> <li class="cat-item cat-item-7"><a href="http://singlethreaded.org/blog/category/web-20/" title="View all posts filed under Web 2.0">Web 2.0</a> </li> </ul> </li> <li id="Archives"> <h2>Archives</h2> <ul> <li><a href='http://singlethreaded.org/blog/2008/05/' title='May 2008'>May 2008</a></li> <li><a href='http://singlethreaded.org/blog/2008/04/' title='April 2008'>April 2008</a></li> <li><a href='http://singlethreaded.org/blog/2007/10/' title='October 2007'>October 2007</a></li> <li><a href='http://singlethreaded.org/blog/2007/08/' title='August 2007'>August 2007</a></li> <li><a href='http://singlethreaded.org/blog/2007/07/' title='July 2007'>July 2007</a></li> <li><a href='http://singlethreaded.org/blog/2007/06/' title='June 2007'>June 2007</a></li> <li><a href='http://singlethreaded.org/blog/2007/05/' title='May 2007'>May 2007</a></li> <li><a href='http://singlethreaded.org/blog/2007/03/' title='March 2007'>March 2007</a></li> <li><a href='http://singlethreaded.org/blog/2007/01/' title='January 2007'>January 2007</a></li> </ul> </li> <li id="Blogroll"> <h2>Blogroll</h2> <ul> <li><a href="http://16cards.com/" rel="co-worker">16 Cards</a></li> <li><a href="http://bitworking.org/" rel="co-worker">BitWorking</a></li> <li><a href="http://contekst.org/blog/" rel="co-worker">Contekst</a></li> <li><a href="http://www-03.ibm.com/developerworks/blogs/page/pmuellr" rel="co-worker">Pat Mueller’s Blog</a></li> </ul> </li> </ul> </div> <!-- end sidebar --> </div> <!-- The main column ends --> <!-- begin footer --> <div style="clear:both;"></div> <div style="clear:both;"></div> <div id="footerbg"> <div id="footer"> <div id="footerleft"> <h2>Recently Written</h2> <ul> <li><a href='http://singlethreaded.org/blog/2008/05/29/scaling-at-ebay/' title='Scaling at ebay'>Scaling at ebay</a></li> <li><a href='http://singlethreaded.org/blog/2008/04/11/what-is-real/' title='What is real?'>What is real?</a></li> <li><a href='http://singlethreaded.org/blog/2008/04/10/apparently-this-guy-hasnt-heard-the-news/' title='Apparently this guy hasn’t heard the news'>Apparently this guy hasn’t heard the news</a></li> <li><a href='http://singlethreaded.org/blog/2007/10/17/steve-loves-us-he-really-loves-us/' title='Steve loves us, he really loves us'>Steve loves us, he really loves us</a></li> <li><a href='http://singlethreaded.org/blog/2007/10/11/nerds-vs-the-new-apple/' title='Nerds vs the new Apple'>Nerds vs the new Apple</a></li> </ul><br /> </div> <div id="footermiddle"> <h2>Blogroll</h2> <ul> <li><a href="http://16cards.com/" rel="co-worker">16 Cards</a></li> <li><a href="http://bitworking.org/" rel="co-worker">BitWorking</a></li> <li><a href="http://contekst.org/blog/" rel="co-worker">Contekst</a></li> <li><a href="http://www-03.ibm.com/developerworks/blogs/page/pmuellr" rel="co-worker">Pat Mueller’s Blog</a></li> </ul> </div> <div id="footerright"> <h2>Find It</h2> <form id="searchform" method="get" action="/blog/index.php"> <input type="text" value="To search, type and hit enter..." name="s" id="s" onfocus="if (this.value == 'To search, type and hit enter...') {this.value = '';}" onblur="if (this.value == '') {this.value = 'To search, type and hit enter...';}" /> </form> <h2>Credits</h2> <p><a href="http://www.briangardner.com/themes/vertigo-blue-wordpress-theme.htm" >Vertigo Blue Theme</a> by <a href="http://www.briangardner.com" >Brian Gardner</a>.<br />Powered by <a href="http://wordpress.org">WordPress</a>.</p> </div> </div> <div id="footerbottom"> </div> </div> <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"> </script> <script type="text/javascript"> _uacct = "UA-2001448-1"; urchinTracker(); </script> </body> </html>