<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: JVM as platform for dynamic languages?</title>
	<atom:link href="http://compoundthinking.com/blog/index.php/2008/02/27/jvm-as-platform-for-dynamic-languages/feed/" rel="self" type="application/rss+xml" />
	<link>http://compoundthinking.com/blog/index.php/2008/02/27/jvm-as-platform-for-dynamic-languages/</link>
	<description>Thinking about programming in new ways</description>
	<lastBuildDate>Tue, 15 Mar 2011 02:30:01 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: Mark Ramm</title>
		<link>http://compoundthinking.com/blog/index.php/2008/02/27/jvm-as-platform-for-dynamic-languages/#comment-167897</link>
		<dc:creator>Mark Ramm</dc:creator>
		<pubDate>Mon, 05 May 2008 12:48:52 +0000</pubDate>
		<guid isPermaLink="false">http://compoundthinking.com/blog/index.php/2008/02/27/jvm-as-platform-for-dynamic-languages/#comment-167897</guid>
		<description>tonetheman,

Here&#039;s an interesting post on that subject:

http://osteele.com/archives/2004/11/ides

I think some people are cripled by the idea that there&#039;s one true tool for the job.  Grep, sed, awk, vi, and bash make me think that even language oriented people are kind of tool oriented, but they are just into small tools that can be re-used many creative ways.</description>
		<content:encoded><![CDATA[<p>tonetheman,</p>
<p>Here&#8217;s an interesting post on that subject:</p>
<p><a href="http://osteele.com/archives/2004/11/ides" rel="nofollow">http://osteele.com/archives/2004/11/ides</a></p>
<p>I think some people are cripled by the idea that there&#8217;s one true tool for the job.  Grep, sed, awk, vi, and bash make me think that even language oriented people are kind of tool oriented, but they are just into small tools that can be re-used many creative ways.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: SitePen Blog &#187; Why Java remains the most popular language on the JVM</title>
		<link>http://compoundthinking.com/blog/index.php/2008/02/27/jvm-as-platform-for-dynamic-languages/#comment-167772</link>
		<dc:creator>SitePen Blog &#187; Why Java remains the most popular language on the JVM</dc:creator>
		<pubDate>Mon, 05 May 2008 07:01:55 +0000</pubDate>
		<guid isPermaLink="false">http://compoundthinking.com/blog/index.php/2008/02/27/jvm-as-platform-for-dynamic-languages/#comment-167772</guid>
		<description>[...] Ramm-Christensen posed some questions about using the JVM as a platform for dynamic languages. Many people do, in fact, use dynamic languages on the JVM (Groovy, Beanshell, Rhino, Jython, JRuby [...]</description>
		<content:encoded><![CDATA[<p>[...] Ramm-Christensen posed some questions about using the JVM as a platform for dynamic languages. Many people do, in fact, use dynamic languages on the JVM (Groovy, Beanshell, Rhino, Jython, JRuby [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: tonetheman</title>
		<link>http://compoundthinking.com/blog/index.php/2008/02/27/jvm-as-platform-for-dynamic-languages/#comment-137410</link>
		<dc:creator>tonetheman</dc:creator>
		<pubDate>Mon, 03 Mar 2008 03:31:37 +0000</pubDate>
		<guid isPermaLink="false">http://compoundthinking.com/blog/index.php/2008/02/27/jvm-as-platform-for-dynamic-languages/#comment-137410</guid>
		<description>One question that I have is why does the average java programmer need &quot;tools&quot; to do anything. Are they all stupid and crutch bound to eclipse or other editors that write things for them? I have been using jython for a while and love it. I can move from java to jython without any issues. When jrunscript appeared with the jdk I was then able to use javascript like I had wanted to for a long time.</description>
		<content:encoded><![CDATA[<p>One question that I have is why does the average java programmer need &#8220;tools&#8221; to do anything. Are they all stupid and crutch bound to eclipse or other editors that write things for them? I have been using jython for a while and love it. I can move from java to jython without any issues. When jrunscript appeared with the jdk I was then able to use javascript like I had wanted to for a long time.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: MIchael Foord</title>
		<link>http://compoundthinking.com/blog/index.php/2008/02/27/jvm-as-platform-for-dynamic-languages/#comment-136322</link>
		<dc:creator>MIchael Foord</dc:creator>
		<pubDate>Fri, 29 Feb 2008 13:58:43 +0000</pubDate>
		<guid isPermaLink="false">http://compoundthinking.com/blog/index.php/2008/02/27/jvm-as-platform-for-dynamic-languages/#comment-136322</guid>
		<description>Right - I think I was wrong to wonder about the Java/Python integration in Jython, I&#039;m sure it&#039;s fine. With Rails on JRuby working so well (apparently) I&#039;m glad that there is an active push for Django on Jython.


It would be nice to see Django on IronPython as well - even though I don&#039;t do much web development at the moment. (We do have a Resolver One web server, which currently uses our own &#039;hand-rolled&#039; server framework and it would be nice to use Django with this even though our server isn&#039;t a traditional database backed application.)</description>
		<content:encoded><![CDATA[<p>Right &#8211; I think I was wrong to wonder about the Java/Python integration in Jython, I&#8217;m sure it&#8217;s fine. With Rails on JRuby working so well (apparently) I&#8217;m glad that there is an active push for Django on Jython.</p>
<p>It would be nice to see Django on IronPython as well &#8211; even though I don&#8217;t do much web development at the moment. (We do have a Resolver One web server, which currently uses our own &#8216;hand-rolled&#8217; server framework and it would be nice to use Django with this even though our server isn&#8217;t a traditional database backed application.)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark Ramm</title>
		<link>http://compoundthinking.com/blog/index.php/2008/02/27/jvm-as-platform-for-dynamic-languages/#comment-136169</link>
		<dc:creator>Mark Ramm</dc:creator>
		<pubDate>Fri, 29 Feb 2008 05:35:09 +0000</pubDate>
		<guid isPermaLink="false">http://compoundthinking.com/blog/index.php/2008/02/27/jvm-as-platform-for-dynamic-languages/#comment-136169</guid>
		<description>Michael, 

I suppose that&#039;s true, but the Jython team&#039;s been doing some remarkable work in the last year, with a new release, and 2.5 compatibility coming &quot;real soon now.&quot;  So, I at least think 2007 should be seen as one of the most successful years ever for Jython, and it seems like 2008 will be even better.</description>
		<content:encoded><![CDATA[<p>Michael, </p>
<p>I suppose that&#8217;s true, but the Jython team&#8217;s been doing some remarkable work in the last year, with a new release, and 2.5 compatibility coming &#8220;real soon now.&#8221;  So, I at least think 2007 should be seen as one of the most successful years ever for Jython, and it seems like 2008 will be even better.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: MIchael Foord</title>
		<link>http://compoundthinking.com/blog/index.php/2008/02/27/jvm-as-platform-for-dynamic-languages/#comment-136003</link>
		<dc:creator>MIchael Foord</dc:creator>
		<pubDate>Thu, 28 Feb 2008 22:41:13 +0000</pubDate>
		<guid isPermaLink="false">http://compoundthinking.com/blog/index.php/2008/02/27/jvm-as-platform-for-dynamic-languages/#comment-136003</guid>
		<description>Hmmm... final thought.


JRuby is backed by Sun and is [seen as...] successful
IronPython is backed by Microsoft and is [seen as...] successful


Probably as simple as that.</description>
		<content:encoded><![CDATA[<p>Hmmm&#8230; final thought.</p>
<p>JRuby is backed by Sun and is [seen as...] successful<br />
IronPython is backed by Microsoft and is [seen as...] successful</p>
<p>Probably as simple as that.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: MIchael Foord</title>
		<link>http://compoundthinking.com/blog/index.php/2008/02/27/jvm-as-platform-for-dynamic-languages/#comment-135839</link>
		<dc:creator>MIchael Foord</dc:creator>
		<pubDate>Thu, 28 Feb 2008 12:24:07 +0000</pubDate>
		<guid isPermaLink="false">http://compoundthinking.com/blog/index.php/2008/02/27/jvm-as-platform-for-dynamic-languages/#comment-135839</guid>
		<description>Azureus has to be the slickest Java application I&#039;ve ever used. A desktop application with a *great* user interface and cross-platform to boot. Creating good applications with Java is certainly possible...</description>
		<content:encoded><![CDATA[<p>Azureus has to be the slickest Java application I&#8217;ve ever used. A desktop application with a *great* user interface and cross-platform to boot. Creating good applications with Java is certainly possible&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Paul Boddie</title>
		<link>http://compoundthinking.com/blog/index.php/2008/02/27/jvm-as-platform-for-dynamic-languages/#comment-135813</link>
		<dc:creator>Paul Boddie</dc:creator>
		<pubDate>Thu, 28 Feb 2008 09:57:00 +0000</pubDate>
		<guid isPermaLink="false">http://compoundthinking.com/blog/index.php/2008/02/27/jvm-as-platform-for-dynamic-languages/#comment-135813</guid>
		<description>With regard to Lucene, I find PyLucene to be more than sufficient for my purposes. In fact, I&#039;d rather use the version of PyLucene which uses SWIG and gcj than the version which uses JNI and a JVM, mostly because I then don&#039;t need to consider all the stuff that can go wrong with a JVM.

That said, I think that people trying to integrate CPython with JVMs should take a look at what the PyLucene people have been doing - I never got things like JPype to work, but given that recent PyLucene releases are routinely built for JVM integration, it would suggest that they&#039;ve perfected the art. 

As for Jython, I think it was a remarkable achievement when it was done, especially since people did wonder whether it would make CPython obsolete, and it&#039;s very useful if you have to use the Java platform. Really, the Java platform is the problem: one always gets the impression that it demands centre stage (reinventing a lot of what the operating system does for you already), has baroque libraries and frameworks, and encourages sluggish software.

Until last year when someone asked about it, I wasn&#039;t really that bothered in giving WebStack much exercise on the Java platform (beyond the initial confirmation that it worked) precisely because it&#039;s such a chore to test anything in a servlet container: start the thing slowly, wait, re-deploy the application, hope that nothing got cached anywhere, test, find that something did get cached, stop, clean out, fix, start, wait, re-deploy, and so on. Only something like Zope 2 would give a similar experience, and even then it&#039;s nowhere near stuff like Tomcat in terms of time and memory consumption (let alone other more bloated offerings).</description>
		<content:encoded><![CDATA[<p>With regard to Lucene, I find PyLucene to be more than sufficient for my purposes. In fact, I&#8217;d rather use the version of PyLucene which uses SWIG and gcj than the version which uses JNI and a JVM, mostly because I then don&#8217;t need to consider all the stuff that can go wrong with a JVM.</p>
<p>That said, I think that people trying to integrate CPython with JVMs should take a look at what the PyLucene people have been doing &#8211; I never got things like JPype to work, but given that recent PyLucene releases are routinely built for JVM integration, it would suggest that they&#8217;ve perfected the art. </p>
<p>As for Jython, I think it was a remarkable achievement when it was done, especially since people did wonder whether it would make CPython obsolete, and it&#8217;s very useful if you have to use the Java platform. Really, the Java platform is the problem: one always gets the impression that it demands centre stage (reinventing a lot of what the operating system does for you already), has baroque libraries and frameworks, and encourages sluggish software.</p>
<p>Until last year when someone asked about it, I wasn&#8217;t really that bothered in giving WebStack much exercise on the Java platform (beyond the initial confirmation that it worked) precisely because it&#8217;s such a chore to test anything in a servlet container: start the thing slowly, wait, re-deploy the application, hope that nothing got cached anywhere, test, find that something did get cached, stop, clean out, fix, start, wait, re-deploy, and so on. Only something like Zope 2 would give a similar experience, and even then it&#8217;s nowhere near stuff like Tomcat in terms of time and memory consumption (let alone other more bloated offerings).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: MIchael Foord</title>
		<link>http://compoundthinking.com/blog/index.php/2008/02/27/jvm-as-platform-for-dynamic-languages/#comment-135686</link>
		<dc:creator>MIchael Foord</dc:creator>
		<pubDate>Thu, 28 Feb 2008 02:44:58 +0000</pubDate>
		<guid isPermaLink="false">http://compoundthinking.com/blog/index.php/2008/02/27/jvm-as-platform-for-dynamic-languages/#comment-135686</guid>
		<description>Right - Django on .NET might make sense for .NET programmers moving to Python - but not for Python programmers interested in .NET.

As getting Django working *smoothly* on IronPython is likely to take a decent amount from some experienced Python programmers it probably won&#039;t happen unless someone ponies up some cash.

OTOH - if it can be made smooth, maybe it makes Python all the more compelling for the .NETTIES...

(ASP.NET&#039;s problem is not so much the libraries - although webforms both sucks and blows big rocks apparently - but the fundamental premise of the framework is old and useless, so shoehorning decent architecture into it is painful... It does have some advocates though, but not many.)</description>
		<content:encoded><![CDATA[<p>Right &#8211; Django on .NET might make sense for .NET programmers moving to Python &#8211; but not for Python programmers interested in .NET.</p>
<p>As getting Django working *smoothly* on IronPython is likely to take a decent amount from some experienced Python programmers it probably won&#8217;t happen unless someone ponies up some cash.</p>
<p>OTOH &#8211; if it can be made smooth, maybe it makes Python all the more compelling for the .NETTIES&#8230;</p>
<p>(ASP.NET&#8217;s problem is not so much the libraries &#8211; although webforms both sucks and blows big rocks apparently &#8211; but the fundamental premise of the framework is old and useless, so shoehorning decent architecture into it is painful&#8230; It does have some advocates though, but not many.)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark Ramm</title>
		<link>http://compoundthinking.com/blog/index.php/2008/02/27/jvm-as-platform-for-dynamic-languages/#comment-135638</link>
		<dc:creator>Mark Ramm</dc:creator>
		<pubDate>Thu, 28 Feb 2008 00:45:20 +0000</pubDate>
		<guid isPermaLink="false">http://compoundthinking.com/blog/index.php/2008/02/27/jvm-as-platform-for-dynamic-languages/#comment-135638</guid>
		<description>Michael, 

it seems to me that if the ASP.NET libraries are a mess, the presence of Django would on .NET would be a significant reason to use IronPython when you want to expose .NET stuff over the web. 

Sure, if you&#039;re doing something from scratch it makes sense to do it in TurboGears on Cpython ;)   But if you&#039;ve got a large .NET codebase and you need a web UI it seems like Django on IronPyton makes sense.</description>
		<content:encoded><![CDATA[<p>Michael, </p>
<p>it seems to me that if the ASP.NET libraries are a mess, the presence of Django would on .NET would be a significant reason to use IronPython when you want to expose .NET stuff over the web. </p>
<p>Sure, if you&#8217;re doing something from scratch it makes sense to do it in TurboGears on Cpython ;)   But if you&#8217;ve got a large .NET codebase and you need a web UI it seems like Django on IronPyton makes sense.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: MIchael Foord</title>
		<link>http://compoundthinking.com/blog/index.php/2008/02/27/jvm-as-platform-for-dynamic-languages/#comment-135630</link>
		<dc:creator>MIchael Foord</dc:creator>
		<pubDate>Thu, 28 Feb 2008 00:17:16 +0000</pubDate>
		<guid isPermaLink="false">http://compoundthinking.com/blog/index.php/2008/02/27/jvm-as-platform-for-dynamic-languages/#comment-135630</guid>
		<description>And as for webdev libraries in .NET! Ha! I&#039;m afraid I have little respect for ASP.NET. The new MVC ASP.NET framework looks pretty good though (as rthese things go).

Although people have got Django running with IronPython I can&#039;t see why you would want to. (Deployment in a Microsoft only corporate environment perhaps?)</description>
		<content:encoded><![CDATA[<p>And as for webdev libraries in .NET! Ha! I&#8217;m afraid I have little respect for ASP.NET. The new MVC ASP.NET framework looks pretty good though (as rthese things go).</p>
<p>Although people have got Django running with IronPython I can&#8217;t see why you would want to. (Deployment in a Microsoft only corporate environment perhaps?)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: MIchael Foord</title>
		<link>http://compoundthinking.com/blog/index.php/2008/02/27/jvm-as-platform-for-dynamic-languages/#comment-135626</link>
		<dc:creator>MIchael Foord</dc:creator>
		<pubDate>Thu, 28 Feb 2008 00:13:01 +0000</pubDate>
		<guid isPermaLink="false">http://compoundthinking.com/blog/index.php/2008/02/27/jvm-as-platform-for-dynamic-languages/#comment-135626</guid>
		<description>For working with .NET we use Python and &#039;normal&#039; Python tools (PyLint, Wing IDE, Vim etc).

We use Visual Studio for designing our dialogs though - with the visual designer. We generate C# so that no-one is tempted to edit the generated code...</description>
		<content:encoded><![CDATA[<p>For working with .NET we use Python and &#8216;normal&#8217; Python tools (PyLint, Wing IDE, Vim etc).</p>
<p>We use Visual Studio for designing our dialogs though &#8211; with the visual designer. We generate C# so that no-one is tempted to edit the generated code&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark Ramm</title>
		<link>http://compoundthinking.com/blog/index.php/2008/02/27/jvm-as-platform-for-dynamic-languages/#comment-135605</link>
		<dc:creator>Mark Ramm</dc:creator>
		<pubDate>Wed, 27 Feb 2008 23:42:23 +0000</pubDate>
		<guid isPermaLink="false">http://compoundthinking.com/blog/index.php/2008/02/27/jvm-as-platform-for-dynamic-languages/#comment-135605</guid>
		<description>Michael, 

I do think, from my limited experience with the .net libraries, that they are easier in general to work with than many of the java equivalents. However, it does seem that there are some issues with the web dev libraries in particular which I find frustrating. I also find the .net toolchain a bit restrictive.

That said, the GUI stuff in .net is way better than anything the java people have come up with yet. Perhaps JavaFX will turn it around, but I don&#039;t hold out much hope on that front.   

Heck, I wish there were really good gui development tools in Python.   I find myself building webapps rather than GUI&#039;s even for local administration stuff, just because it&#039;s easier.</description>
		<content:encoded><![CDATA[<p>Michael, </p>
<p>I do think, from my limited experience with the .net libraries, that they are easier in general to work with than many of the java equivalents. However, it does seem that there are some issues with the web dev libraries in particular which I find frustrating. I also find the .net toolchain a bit restrictive.</p>
<p>That said, the GUI stuff in .net is way better than anything the java people have come up with yet. Perhaps JavaFX will turn it around, but I don&#8217;t hold out much hope on that front.   </p>
<p>Heck, I wish there were really good gui development tools in Python.   I find myself building webapps rather than GUI&#8217;s even for local administration stuff, just because it&#8217;s easier.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark Ramm</title>
		<link>http://compoundthinking.com/blog/index.php/2008/02/27/jvm-as-platform-for-dynamic-languages/#comment-135601</link>
		<dc:creator>Mark Ramm</dc:creator>
		<pubDate>Wed, 27 Feb 2008 23:35:50 +0000</pubDate>
		<guid isPermaLink="false">http://compoundthinking.com/blog/index.php/2008/02/27/jvm-as-platform-for-dynamic-languages/#comment-135601</guid>
		<description>Ian, 

You make a lot of good points.   I think there are some other advantages of the Jython that are important.   The lack of a Global Interpreter Lock is one.  The ability to drop down to java even more easily than you can drop down to C in cPython is another. And direct access to things like Lucene is the big one.

Still, most of the time, for most purposes I think Cpython is easier, faster, and more stable.  At least at the moment. 

And, I wonder if the benefits you get from totally owning your data representation in C doesn&#039;t make dropping to C for performance stuff a lot more of a win than dropping to Java would be. 

But I do want the JVM to be successful, because if it doesn&#039;t I think the default VM will be the CLR, and that&#039;s much slower on non Windows platoforms, and is Microsoft propritary, which is a significant drawback in my mind.</description>
		<content:encoded><![CDATA[<p>Ian, </p>
<p>You make a lot of good points.   I think there are some other advantages of the Jython that are important.   The lack of a Global Interpreter Lock is one.  The ability to drop down to java even more easily than you can drop down to C in cPython is another. And direct access to things like Lucene is the big one.</p>
<p>Still, most of the time, for most purposes I think Cpython is easier, faster, and more stable.  At least at the moment. </p>
<p>And, I wonder if the benefits you get from totally owning your data representation in C doesn&#8217;t make dropping to C for performance stuff a lot more of a win than dropping to Java would be. </p>
<p>But I do want the JVM to be successful, because if it doesn&#8217;t I think the default VM will be the CLR, and that&#8217;s much slower on non Windows platoforms, and is Microsoft propritary, which is a significant drawback in my mind.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: MIchael Foord</title>
		<link>http://compoundthinking.com/blog/index.php/2008/02/27/jvm-as-platform-for-dynamic-languages/#comment-135592</link>
		<dc:creator>MIchael Foord</dc:creator>
		<pubDate>Wed, 27 Feb 2008 23:24:07 +0000</pubDate>
		<guid isPermaLink="false">http://compoundthinking.com/blog/index.php/2008/02/27/jvm-as-platform-for-dynamic-languages/#comment-135592</guid>
		<description>I have a colleague )a Ruby fan) who uses JRuby over CRuby because of a library for parsing chess files that was better than any Ruby libraries available.

Similarly, the &#039;killer&#039; feature for IronPython is access to .NET libraries (many of which are very good - better multi-threading support because of the lack of the GIL doesn&#039;t hurt either mind).

Java programmers who like Python but want to be able to use a familiar set of libraries should find Jython appealing. Again I wonder if the Java/Jython integration is less appealing than the IronPython/.NET integration?

Jython *is* widely used don&#039;t forget - I know of several companies who use it for working with a Java infrastructure - perhaps not as successful as it could be though.</description>
		<content:encoded><![CDATA[<p>I have a colleague )a Ruby fan) who uses JRuby over CRuby because of a library for parsing chess files that was better than any Ruby libraries available.</p>
<p>Similarly, the &#8216;killer&#8217; feature for IronPython is access to .NET libraries (many of which are very good &#8211; better multi-threading support because of the lack of the GIL doesn&#8217;t hurt either mind).</p>
<p>Java programmers who like Python but want to be able to use a familiar set of libraries should find Jython appealing. Again I wonder if the Java/Jython integration is less appealing than the IronPython/.NET integration?</p>
<p>Jython *is* widely used don&#8217;t forget &#8211; I know of several companies who use it for working with a Java infrastructure &#8211; perhaps not as successful as it could be though.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

