<?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: Pharo Superpower: Send Any Message</title>
	<atom:link href="http://www.iam.unibe.ch/~akuhn/blog/2010/pharo-superpower-send-any-messag/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.iam.unibe.ch/~akuhn/blog/2010/pharo-superpower-send-any-messag/</link>
	<description>Random notes on software, programming and languages.</description>
	<pubDate>Thu, 24 May 2012 10:45:42 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: For.example &#187; Pharo Superpower: Respond to any Message</title>
		<link>http://www.iam.unibe.ch/~akuhn/blog/2010/pharo-superpower-send-any-messag/comment-page-1/#comment-3364</link>
		<dc:creator>For.example &#187; Pharo Superpower: Respond to any Message</dc:creator>
		<pubDate>Tue, 19 Jan 2010 07:52:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.iam.unibe.ch/~akuhn/blog/?p=579#comment-3364</guid>
		<description>[...]       Random notes on software, programming and languages.By Adrian Kuhn      Pharo Superpower: Send Any Message [...]</description>
		<content:encoded><![CDATA[<p>[...]       Random notes on software, programming and languages.By Adrian Kuhn      Pharo Superpower: Send Any Message [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: akuhn</title>
		<link>http://www.iam.unibe.ch/~akuhn/blog/2010/pharo-superpower-send-any-messag/comment-page-1/#comment-3342</link>
		<dc:creator>akuhn</dc:creator>
		<pubDate>Thu, 14 Jan 2010 13:53:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.iam.unibe.ch/~akuhn/blog/?p=579#comment-3342</guid>
		<description>Just read it 5 minutes ago :) you do a way better job of picking up the superheroes theme in the text, awesome. Looking forward to more superfeats!</description>
		<content:encoded><![CDATA[<p>Just read it 5 minutes ago :) you do a way better job of picking up the superheroes theme in the text, awesome. Looking forward to more superfeats!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Travis Griggs</title>
		<link>http://www.iam.unibe.ch/~akuhn/blog/2010/pharo-superpower-send-any-messag/comment-page-1/#comment-3338</link>
		<dc:creator>Travis Griggs</dc:creator>
		<pubDate>Wed, 13 Jan 2010 22:34:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.iam.unibe.ch/~akuhn/blog/?p=579#comment-3338</guid>
		<description>&lt;a href="http://www.cincomsmalltalk.com/userblogs/travis/blogView?showComments=true&#38;printTitle=Superpower_Adventures_in_Lightweight_Classing&#38;entry=3440856756" rel="nofollow"&gt;You inspired me&lt;/a&gt;</description>
		<content:encoded><![CDATA[<p><a href="http://www.cincomsmalltalk.com/userblogs/travis/blogView?showComments=true&amp;printTitle=Superpower_Adventures_in_Lightweight_Classing&amp;entry=3440856756" rel="nofollow">You inspired me</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Carl Gundel</title>
		<link>http://www.iam.unibe.ch/~akuhn/blog/2010/pharo-superpower-send-any-messag/comment-page-1/#comment-3329</link>
		<dc:creator>Carl Gundel</dc:creator>
		<pubDate>Tue, 12 Jan 2010 21:14:22 +0000</pubDate>
		<guid isPermaLink="false">http://www.iam.unibe.ch/~akuhn/blog/?p=579#comment-3329</guid>
		<description>Yes, of course as you ultimately get closer to the metal you dispense with dynamic code somewhere.  It happens all over again when the CPU executes microcode.  Down the rabbit hole we go!  ;-)</description>
		<content:encoded><![CDATA[<p>Yes, of course as you ultimately get closer to the metal you dispense with dynamic code somewhere.  It happens all over again when the CPU executes microcode.  Down the rabbit hole we go!  ;-)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: akuhn</title>
		<link>http://www.iam.unibe.ch/~akuhn/blog/2010/pharo-superpower-send-any-messag/comment-page-1/#comment-3327</link>
		<dc:creator>akuhn</dc:creator>
		<pubDate>Tue, 12 Jan 2010 19:59:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.iam.unibe.ch/~akuhn/blog/?p=579#comment-3327</guid>
		<description>You are right, this is the difference at the language's core that I mentioned. 

When sending messages, the sender only encodes the name of message and the receiver decided at runtime which method is to be activated. When calling method, the caller encodes at compile time the address (or at least offset) of the target method, to which it directly jumps at runtime. However, from the programmer's view the observed behavior is (typically) the same, both cases are synchronous and thus block until the "called" method returns. I mention this because other languages (or networking systems)  have &lt;i&gt;true&lt;/i&gt; message sending where control immediately returns to the "caller" and the called method is run in parallel, ie asynchronously. So Smalltalk is kind of a hybrid in that sense. (And if you delve into the land of JIT optimization, things are put upside down anyway, and we are back at calling or even inlining methods&#8230; :)</description>
		<content:encoded><![CDATA[<p>You are right, this is the difference at the language&#8217;s core that I mentioned. </p>
<p>When sending messages, the sender only encodes the name of message and the receiver decided at runtime which method is to be activated. When calling method, the caller encodes at compile time the address (or at least offset) of the target method, to which it directly jumps at runtime. However, from the programmer&#8217;s view the observed behavior is (typically) the same, both cases are synchronous and thus block until the &#8220;called&#8221; method returns. I mention this because other languages (or networking systems)  have <i>true</i> message sending where control immediately returns to the &#8220;caller&#8221; and the called method is run in parallel, ie asynchronously. So Smalltalk is kind of a hybrid in that sense. (And if you delve into the land of JIT optimization, things are put upside down anyway, and we are back at calling or even inlining methods&hellip; :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Carl Gundel</title>
		<link>http://www.iam.unibe.ch/~akuhn/blog/2010/pharo-superpower-send-any-messag/comment-page-1/#comment-3326</link>
		<dc:creator>Carl Gundel</dc:creator>
		<pubDate>Tue, 12 Jan 2010 15:07:42 +0000</pubDate>
		<guid isPermaLink="false">http://www.iam.unibe.ch/~akuhn/blog/?p=579#comment-3326</guid>
		<description>Great post.

Sending a message is not calling a method as I have come to understand it.  The reason it is called sending a message is because the receiver of the message gets to decide what to do, so it is not the direct invokation of a method.  Without that indirection then yes it would be equivalent to a C function call.  It doesn't need to be asynchronous to be considered a message send.</description>
		<content:encoded><![CDATA[<p>Great post.</p>
<p>Sending a message is not calling a method as I have come to understand it.  The reason it is called sending a message is because the receiver of the message gets to decide what to do, so it is not the direct invokation of a method.  Without that indirection then yes it would be equivalent to a C function call.  It doesn&#8217;t need to be asynchronous to be considered a message send.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

