<?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: Want Erlang concurrency but are stuck with Java: 4 Alternatives  (+1)</title>
	<atom:link href="http://codemonkeyism.com/want-erlang-concurrency-but-are-stuck-with-java-4-alternatives/feed/" rel="self" type="application/rss+xml" />
	<link>http://codemonkeyism.com/want-erlang-concurrency-but-are-stuck-with-java-4-alternatives/</link>
	<description></description>
	<lastBuildDate>Tue, 03 Jan 2012 15:08:49 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: actor model concurrency &#124; Javouhey&#39;s Blog</title>
		<link>http://codemonkeyism.com/want-erlang-concurrency-but-are-stuck-with-java-4-alternatives/comment-page-1/#comment-402914</link>
		<dc:creator>actor model concurrency &#124; Javouhey&#39;s Blog</dc:creator>
		<pubDate>Sat, 15 Jan 2011 13:54:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemonkeyism.com/?p=521#comment-402914</guid>
		<description>[...] actor frameworks for java [...]</description>
		<content:encoded><![CDATA[<p>[...] actor frameworks for java [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bjorn Borg</title>
		<link>http://codemonkeyism.com/want-erlang-concurrency-but-are-stuck-with-java-4-alternatives/comment-page-1/#comment-312199</link>
		<dc:creator>Bjorn Borg</dc:creator>
		<pubDate>Wed, 04 Aug 2010 21:02:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemonkeyism.com/?p=521#comment-312199</guid>
		<description>Kilim in my judgment is an attempt to misuse the purposes of a University in coming up with an offering to gain appeal with Java corporate world in the guise of academic research work. Hundreds of successful Java frameworks have been written during week-ends by great people through open source initiatives. Kilim can come no way close to them in terms of acceptance from the Java community. But unlike Kilim, none of them have got a PhD because they were willing to play by the moral rules of the game than go for fringe gains. You don’t need the paraphernalia of a University (professors, library, state grants …) to write a Java framework eh! Hope Universities see through this, if not they will be rendered inconsequential. For heaven’s sake, may Universities focus only on works which have larger impact on the society, bring real futuristic technologies that would make our generation proud!</description>
		<content:encoded><![CDATA[<p>Kilim in my judgment is an attempt to misuse the purposes of a University in coming up with an offering to gain appeal with Java corporate world in the guise of academic research work. Hundreds of successful Java frameworks have been written during week-ends by great people through open source initiatives. Kilim can come no way close to them in terms of acceptance from the Java community. But unlike Kilim, none of them have got a PhD because they were willing to play by the moral rules of the game than go for fringe gains. You don’t need the paraphernalia of a University (professors, library, state grants …) to write a Java framework eh! Hope Universities see through this, if not they will be rendered inconsequential. For heaven’s sake, may Universities focus only on works which have larger impact on the society, bring real futuristic technologies that would make our generation proud!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bjorn Borg</title>
		<link>http://codemonkeyism.com/want-erlang-concurrency-but-are-stuck-with-java-4-alternatives/comment-page-1/#comment-312198</link>
		<dc:creator>Bjorn Borg</dc:creator>
		<pubDate>Wed, 04 Aug 2010 21:01:42 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemonkeyism.com/?p=521#comment-312198</guid>
		<description>For some reason, actor model does not seem like a natural extension to Java. I am no James Gosling to say whether Java is meant to do this or not. Perhaps should we shift the blame on to the frameworks which have made actor model like an after-thought on Java? These weaving strategy implementations like Kilim, ActorFoundry, Actors Guild etc… have to take some blame for making actor models look very unnatural to Java development – putting a kink in every development step and development tool. The leap of faith with actor models may perhaps never happen until it is made a part of Java platform itself (like how actors implementation is provided as part of the Scala standard library). For now, for die-hards Java nerds, I would suggest that among Java alternatives, Jetlang is the best because it provides a consistent model that does not feel misplaced or unnatural in the context of Java.</description>
		<content:encoded><![CDATA[<p>For some reason, actor model does not seem like a natural extension to Java. I am no James Gosling to say whether Java is meant to do this or not. Perhaps should we shift the blame on to the frameworks which have made actor model like an after-thought on Java? These weaving strategy implementations like Kilim, ActorFoundry, Actors Guild etc… have to take some blame for making actor models look very unnatural to Java development – putting a kink in every development step and development tool. The leap of faith with actor models may perhaps never happen until it is made a part of Java platform itself (like how actors implementation is provided as part of the Scala standard library). For now, for die-hards Java nerds, I would suggest that among Java alternatives, Jetlang is the best because it provides a consistent model that does not feel misplaced or unnatural in the context of Java.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: stephan</title>
		<link>http://codemonkeyism.com/want-erlang-concurrency-but-are-stuck-with-java-4-alternatives/comment-page-1/#comment-224180</link>
		<dc:creator>stephan</dc:creator>
		<pubDate>Wed, 07 Jan 2009 06:29:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemonkeyism.com/?p=521#comment-224180</guid>
		<description>@Alex: Would like too, currently not in a position to go to conferences sadly.

I wish you good luck with your talk, the topic seems to catch on. It&#039;s a long way though before actor concurrency knowledge is spread enough.</description>
		<content:encoded><![CDATA[<p>@Alex: Would like too, currently not in a position to go to conferences sadly.</p>
<p>I wish you good luck with your talk, the topic seems to catch on. It&#8217;s a long way though before actor concurrency knowledge is spread enough.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alex Miller</title>
		<link>http://codemonkeyism.com/want-erlang-concurrency-but-are-stuck-with-java-4-alternatives/comment-page-1/#comment-224162</link>
		<dc:creator>Alex Miller</dc:creator>
		<pubDate>Tue, 06 Jan 2009 22:08:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemonkeyism.com/?p=521#comment-224162</guid>
		<description>If you&#039;re interested in this topic and attending CodeMash this week, I&#039;m giving a talk on Actor Concurrency that will cover Erlang, Scala, Kilim and possibly some of the others.</description>
		<content:encoded><![CDATA[<p>If you&#8217;re interested in this topic and attending CodeMash this week, I&#8217;m giving a talk on Actor Concurrency that will cover Erlang, Scala, Kilim and possibly some of the others.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tim Jansen</title>
		<link>http://codemonkeyism.com/want-erlang-concurrency-but-are-stuck-with-java-4-alternatives/comment-page-1/#comment-224152</link>
		<dc:creator>Tim Jansen</dc:creator>
		<pubDate>Tue, 06 Jan 2009 20:26:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemonkeyism.com/?p=521#comment-224152</guid>
		<description>@Steve: I am not sure what you mean by &#039;lightweight&#039; threads, but Actors Guild goes to great length to keep the number of threads down - there is no 1:1 mapping between actors and threads. 

AG manages all actors which have work, and the number of messages that could be processed simultaneously in the actor. In AG, an actor can be stateless or have stateless messages, or even have &#039;multi-threaded&#039; messages without synchronization guarantees. In those cases, an actor can process more than one thread at a time. 
Then, AG calculates the right number of worker threads to process the messages. The exact numberis limited by configuration and the system&#039;s number of cores, as well as the type of message (a message doing IO or even waiting for an external event such as a TCP connection needs less CPU time than a message that computes something).</description>
		<content:encoded><![CDATA[<p>@Steve: I am not sure what you mean by &#8216;lightweight&#8217; threads, but Actors Guild goes to great length to keep the number of threads down &#8211; there is no 1:1 mapping between actors and threads. </p>
<p>AG manages all actors which have work, and the number of messages that could be processed simultaneously in the actor. In AG, an actor can be stateless or have stateless messages, or even have &#8216;multi-threaded&#8217; messages without synchronization guarantees. In those cases, an actor can process more than one thread at a time.<br />
Then, AG calculates the right number of worker threads to process the messages. The exact numberis limited by configuration and the system&#8217;s number of cores, as well as the type of message (a message doing IO or even waiting for an external event such as a TCP connection needs less CPU time than a message that computes something).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: stephan</title>
		<link>http://codemonkeyism.com/want-erlang-concurrency-but-are-stuck-with-java-4-alternatives/comment-page-1/#comment-224133</link>
		<dc:creator>stephan</dc:creator>
		<pubDate>Tue, 06 Jan 2009 06:00:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemonkeyism.com/?p=521#comment-224133</guid>
		<description>@Steve: Could you be more precise? Both Kilim and Scala seem to perform as good as Erlang does? What am I missing?

I think it&#039;s not a threads problem but a scheduler problem.

@MumboJumbo: I though Clojure had STM for concurrency, not message passing?</description>
		<content:encoded><![CDATA[<p>@Steve: Could you be more precise? Both Kilim and Scala seem to perform as good as Erlang does? What am I missing?</p>
<p>I think it&#8217;s not a threads problem but a scheduler problem.</p>
<p>@MumboJumbo: I though Clojure had STM for concurrency, not message passing?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mumbojumbo</title>
		<link>http://codemonkeyism.com/want-erlang-concurrency-but-are-stuck-with-java-4-alternatives/comment-page-1/#comment-224122</link>
		<dc:creator>Mumbojumbo</dc:creator>
		<pubDate>Mon, 05 Jan 2009 22:47:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemonkeyism.com/?p=521#comment-224122</guid>
		<description>Clojure anyone? (www.clojure.org) Runs on the JVM and interops with Java.</description>
		<content:encoded><![CDATA[<p>Clojure anyone? (www.clojure.org) Runs on the JVM and interops with Java.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Steve Dekorte</title>
		<link>http://codemonkeyism.com/want-erlang-concurrency-but-are-stuck-with-java-4-alternatives/comment-page-1/#comment-224121</link>
		<dc:creator>Steve Dekorte</dc:creator>
		<pubDate>Mon, 05 Jan 2009 22:03:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemonkeyism.com/?p=521#comment-224121</guid>
		<description>Just a note: for &quot;erlang style concurrency&quot; I&#039;m guessing you mean both actors and being able to support a high level of concurrency. For the later you&#039;ll need lightweight threads, so any actor concurrency based on OS threads won&#039;t be sufficient.</description>
		<content:encoded><![CDATA[<p>Just a note: for &#8220;erlang style concurrency&#8221; I&#8217;m guessing you mean both actors and being able to support a high level of concurrency. For the later you&#8217;ll need lightweight threads, so any actor concurrency based on OS threads won&#8217;t be sufficient.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: stephan</title>
		<link>http://codemonkeyism.com/want-erlang-concurrency-but-are-stuck-with-java-4-alternatives/comment-page-1/#comment-224109</link>
		<dc:creator>stephan</dc:creator>
		<pubDate>Mon, 05 Jan 2009 15:36:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemonkeyism.com/?p=521#comment-224109</guid>
		<description>@Robert: &quot;[...] close integration/interaction between processes, asynchronous messages, immutability and error handling which is the real strength of Erlang.&quot;

Yes, could be the case.

1.) &lt;em&gt;&quot;asynchronous messages&quot;&lt;/em&gt; I&#039;d say the frameworks can handle this. The annotation based ones are not as nice as using &quot;!&quot; but close to me.

2.) &lt;em&gt;&quot;immutability&quot;&lt;/em&gt; Depends on your style, lots of programmers in Java already write immutable code (no getters, excessive use of final etc.), but it&#039;s better if a language supports this - as I&#039;ve said before, all declarations in Java should be final 

http://www.codemonkeyism.com/archives/2008/04/22/all-variables-in-java-must-be-final/

3.) &lt;em&gt;&quot;error handling&quot;&lt;/em&gt; Currently you&#039;re out of lack for Java and I would use Scala OTP when using the JVM for that.

http://jonasboner.com/2008/12/11/real-world-scala-fault-tolerant-concurrent-asynchronous-components/</description>
		<content:encoded><![CDATA[<p>@Robert: &#8220;[...] close integration/interaction between processes, asynchronous messages, immutability and error handling which is the real strength of Erlang.&#8221;</p>
<p>Yes, could be the case.</p>
<p>1.) <em>&#8220;asynchronous messages&#8221;</em> I&#8217;d say the frameworks can handle this. The annotation based ones are not as nice as using &#8220;!&#8221; but close to me.</p>
<p>2.) <em>&#8220;immutability&#8221;</em> Depends on your style, lots of programmers in Java already write immutable code (no getters, excessive use of final etc.), but it&#8217;s better if a language supports this &#8211; as I&#8217;ve said before, all declarations in Java should be final </p>
<p><a href="http://www.codemonkeyism.com/archives/2008/04/22/all-variables-in-java-must-be-final/" rel="nofollow">http://www.codemonkeyism.com/archives/2008/04/22/all-variables-in-java-must-be-final/</a></p>
<p>3.) <em>&#8220;error handling&#8221;</em> Currently you&#8217;re out of lack for Java and I would use Scala OTP when using the JVM for that.</p>
<p><a href="http://jonasboner.com/2008/12/11/real-world-scala-fault-tolerant-concurrent-asynchronous-components/" rel="nofollow">http://jonasboner.com/2008/12/11/real-world-scala-fault-tolerant-concurrent-asynchronous-components/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Apocalisp</title>
		<link>http://codemonkeyism.com/want-erlang-concurrency-but-are-stuck-with-java-4-alternatives/comment-page-1/#comment-224108</link>
		<dc:creator>Apocalisp</dc:creator>
		<pubDate>Mon, 05 Jan 2009 15:31:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemonkeyism.com/?p=521#comment-224108</guid>
		<description>Don&#039;t forget RetroWeaver. It lets you use Java 5 language features, and you can compile the 1.5 libraries with it so that they work on 1.4.</description>
		<content:encoded><![CDATA[<p>Don&#8217;t forget RetroWeaver. It lets you use Java 5 language features, and you can compile the 1.5 libraries with it so that they work on 1.4.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rajesh Karmani</title>
		<link>http://codemonkeyism.com/want-erlang-concurrency-but-are-stuck-with-java-4-alternatives/comment-page-1/#comment-224106</link>
		<dc:creator>Rajesh Karmani</dc:creator>
		<pubDate>Mon, 05 Jan 2009 15:16:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemonkeyism.com/?p=521#comment-224106</guid>
		<description>One clarification: ActorFoundry just uses Kilim&#039;s weaver and therefore is not built on top of Kilim. It has its own run-time that supports distributed execution of actors, migration, fairness and allows safe message-passing for any complex Serializable object. In terms of model, it abstracts away the mailbox, the control. All these are lacking in Kilim and Scala currently.</description>
		<content:encoded><![CDATA[<p>One clarification: ActorFoundry just uses Kilim&#8217;s weaver and therefore is not built on top of Kilim. It has its own run-time that supports distributed execution of actors, migration, fairness and allows safe message-passing for any complex Serializable object. In terms of model, it abstracts away the mailbox, the control. All these are lacking in Kilim and Scala currently.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robert Virding</title>
		<link>http://codemonkeyism.com/want-erlang-concurrency-but-are-stuck-with-java-4-alternatives/comment-page-1/#comment-224105</link>
		<dc:creator>Robert Virding</dc:creator>
		<pubDate>Mon, 05 Jan 2009 15:09:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemonkeyism.com/?p=521#comment-224105</guid>
		<description>I think much of this misses the point: the problem is not to make an actors-like message package (done a few others myself) or immutability (which Java doesn&#039;t have), but it is the close integration/interaction between processes, asynchronous messages, immutability and error handling which is the real strength of Erlang. Things will go wrong, processes will crash and the rest of the system must be able to survive and clean-up afterwards and continue functioning.

You don&#039;t use an actors based model to help on multicores but because it is the best paradigm for many applications. The multicores and distribution you get for free.

Although I hate to quote myself I can&#039;t help it:

http://rvirding.blogspot.com/2008/01/virdings-first-rule-of-programming.html</description>
		<content:encoded><![CDATA[<p>I think much of this misses the point: the problem is not to make an actors-like message package (done a few others myself) or immutability (which Java doesn&#8217;t have), but it is the close integration/interaction between processes, asynchronous messages, immutability and error handling which is the real strength of Erlang. Things will go wrong, processes will crash and the rest of the system must be able to survive and clean-up afterwards and continue functioning.</p>
<p>You don&#8217;t use an actors based model to help on multicores but because it is the best paradigm for many applications. The multicores and distribution you get for free.</p>
<p>Although I hate to quote myself I can&#8217;t help it:</p>
<p><a href="http://rvirding.blogspot.com/2008/01/virdings-first-rule-of-programming.html" rel="nofollow">http://rvirding.blogspot.com/2008/01/virdings-first-rule-of-programming.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: stephan</title>
		<link>http://codemonkeyism.com/want-erlang-concurrency-but-are-stuck-with-java-4-alternatives/comment-page-1/#comment-224104</link>
		<dc:creator>stephan</dc:creator>
		<pubDate>Mon, 05 Jan 2009 14:45:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemonkeyism.com/?p=521#comment-224104</guid>
		<description>@John: From the post: &lt;i&gt;&quot;And if you’re only stuck to the Java VM but not the Java language, you could go for Scala and gain some functional programming capabilities on top.&quot;&lt;/i&gt;</description>
		<content:encoded><![CDATA[<p>@John: From the post: <i>&#8220;And if you’re only stuck to the Java VM but not the Java language, you could go for Scala and gain some functional programming capabilities on top.&#8221;</i></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: John Kemp</title>
		<link>http://codemonkeyism.com/want-erlang-concurrency-but-are-stuck-with-java-4-alternatives/comment-page-1/#comment-224102</link>
		<dc:creator>John Kemp</dc:creator>
		<pubDate>Mon, 05 Jan 2009 14:18:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.codemonkeyism.com/?p=521#comment-224102</guid>
		<description>Why not just use Scala (http://scala-lang.org) Actors?</description>
		<content:encoded><![CDATA[<p>Why not just use Scala (<a href="http://scala-lang.org" rel="nofollow">http://scala-lang.org</a>) Actors?</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk (user agent is rejected)
Database Caching 4/25 queries in 0.031 seconds using disk

Served from: codemonkeyism.com @ 2012-02-10 08:12:50 -->
