<?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/"
	xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments for Isaiah Perumalla</title>
	<atom:link href="http://isaiahperumalla.wordpress.com/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://isaiahperumalla.wordpress.com</link>
	<description>Thoughts on Object Oriented Design, Smalltalk, Behaviour Driven Development and .NET</description>
	<lastBuildDate>Sun, 20 Sep 2009 20:17:41 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Comment on Designing inter-object  protocols using mocks by isaiahperumalla</title>
		<link>http://isaiahperumalla.wordpress.com/2009/06/08/designing-inter-object-protocols-using-mocks/#comment-69</link>
		<dc:creator>isaiahperumalla</dc:creator>
		<pubDate>Sun, 20 Sep 2009 20:17:41 +0000</pubDate>
		<guid isPermaLink="false">http://isaiahperumalla.wordpress.com/?p=29#comment-69</guid>
		<description>Thanks
I often program in smalltalk in my spare time, I find mock objects still useful for discovering role in the system. its true interfaces help make roles explicit in a system, in a dynamic language like smalltalk, there are no interfaces, but the smalltalk ide does have concept of protocols, set of messages that an object responds to. This helps to some extent to see what role an object plays.
But i find that the tests make communication protocols more visible and provide a better documentation on this.
Interface dont tell the whole story, there is a suttle difference between protocols and interfaces. it best summed up by this quote 
&quot;an interface describes whether two components will fit together, a protocol describes whether they will work  together. &quot; --from steve freeman and nat pryce book http://tinyurl.com/mtb37n</description>
		<content:encoded><![CDATA[<p>Thanks<br />
I often program in smalltalk in my spare time, I find mock objects still useful for discovering role in the system. its true interfaces help make roles explicit in a system, in a dynamic language like smalltalk, there are no interfaces, but the smalltalk ide does have concept of protocols, set of messages that an object responds to. This helps to some extent to see what role an object plays.<br />
But i find that the tests make communication protocols more visible and provide a better documentation on this.<br />
Interface dont tell the whole story, there is a suttle difference between protocols and interfaces. it best summed up by this quote<br />
&#8220;an interface describes whether two components will fit together, a protocol describes whether they will work  together. &#8221; &#8211;from steve freeman and nat pryce book <a href="http://tinyurl.com/mtb37n" rel="nofollow">http://tinyurl.com/mtb37n</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Designing inter-object  protocols using mocks by Sjur Kvammen</title>
		<link>http://isaiahperumalla.wordpress.com/2009/06/08/designing-inter-object-protocols-using-mocks/#comment-68</link>
		<dc:creator>Sjur Kvammen</dc:creator>
		<pubDate>Wed, 16 Sep 2009 19:18:19 +0000</pubDate>
		<guid isPermaLink="false">http://isaiahperumalla.wordpress.com/?p=29#comment-68</guid>
		<description>Great article and a lot of fine points to digest :) But I&#039;m curious, what happens to the process of interface/role-discovery in a dynamic language? It seems interfaces are recording part of the dialogue(protocol) between the objects, Then later you plug in an actual implementor(actor to fill the role). But in a dynamic language you don&#039;t have the interfaces to specify/make visible/clearify the roles, so how do you handle it? Do you just skip the interfaces and rely on the tests to document/specify the roles an object needs/expects from its peers? Or?</description>
		<content:encoded><![CDATA[<p>Great article and a lot of fine points to digest <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  But I&#8217;m curious, what happens to the process of interface/role-discovery in a dynamic language? It seems interfaces are recording part of the dialogue(protocol) between the objects, Then later you plug in an actual implementor(actor to fill the role). But in a dynamic language you don&#8217;t have the interfaces to specify/make visible/clearify the roles, so how do you handle it? Do you just skip the interfaces and rely on the tests to document/specify the roles an object needs/expects from its peers? Or?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Test Driven Design using mocks- Lessons Learnt (Part 2) by isaiahperumalla</title>
		<link>http://isaiahperumalla.wordpress.com/2008/05/28/test-driven-design-using-mocks-lessons-learnt-part-2/#comment-60</link>
		<dc:creator>isaiahperumalla</dc:creator>
		<pubDate>Tue, 03 Feb 2009 20:41:32 +0000</pubDate>
		<guid isPermaLink="false">http://isaiahperumalla.wordpress.com/?p=9#comment-60</guid>
		<description>@Aaron
Thanks, thats a good question. this example was simply to demonstrate TDD using mocks. 
An alternate solution would be Renderer#PrintSale(Sale), this probably makes more sense depending on the domain. I will write a post on some of the alternatives and the refactoring the interaction model.

you might find this article useful &lt;a href=&quot;http://msdn.microsoft.com/en-ca/magazine/dd882516.aspx&quot; rel=&quot;nofollow&quot;&gt;http://msdn.microsoft.com/en-ca/magazine/dd882516.aspx&lt;/a&gt;</description>
		<content:encoded><![CDATA[<p>@Aaron<br />
Thanks, thats a good question. this example was simply to demonstrate TDD using mocks.<br />
An alternate solution would be Renderer#PrintSale(Sale), this probably makes more sense depending on the domain. I will write a post on some of the alternatives and the refactoring the interaction model.</p>
<p>you might find this article useful <a href="http://msdn.microsoft.com/en-ca/magazine/dd882516.aspx" rel="nofollow">http://msdn.microsoft.com/en-ca/magazine/dd882516.aspx</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Test Driven Design using mocks- Lessons Learnt (Part 2) by Aaron VonderHaar</title>
		<link>http://isaiahperumalla.wordpress.com/2008/05/28/test-driven-design-using-mocks-lessons-learnt-part-2/#comment-59</link>
		<dc:creator>Aaron VonderHaar</dc:creator>
		<pubDate>Tue, 27 Jan 2009 19:02:22 +0000</pubDate>
		<guid isPermaLink="false">http://isaiahperumalla.wordpress.com/?p=9#comment-59</guid>
		<description>That&#039;s a great article!  It really shows the thought process of how TDD works, and how it can lead to better design.

Although now I&#039;m a bit curious about the process that motivated you to create a Sale#PrintReceiptOn(Renderer) method rather than creating a Renderer#PrintSale(Sale) method.  Have you talked about that type of design decision in any of your other blog posts?</description>
		<content:encoded><![CDATA[<p>That&#8217;s a great article!  It really shows the thought process of how TDD works, and how it can lead to better design.</p>
<p>Although now I&#8217;m a bit curious about the process that motivated you to create a Sale#PrintReceiptOn(Renderer) method rather than creating a Renderer#PrintSale(Sale) method.  Have you talked about that type of design decision in any of your other blog posts?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Why GemStone/S by Why GemStone/S? &#171; (gem)Stone Soup</title>
		<link>http://isaiahperumalla.wordpress.com/2008/11/21/why-gemstones/#comment-57</link>
		<dc:creator>Why GemStone/S? &#171; (gem)Stone Soup</dc:creator>
		<pubDate>Sat, 22 Nov 2008 16:03:25 +0000</pubDate>
		<guid isPermaLink="false">http://isaiahperumalla.wordpress.com/?p=10#comment-57</guid>
		<description>[...] Perumalla has a good post where he answers the question &#8220;Why [...]</description>
		<content:encoded><![CDATA[<p>[...] Perumalla has a good post where he answers the question &#8220;Why [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Smalltalk a world of living Objects by mo</title>
		<link>http://isaiahperumalla.wordpress.com/2008/06/10/smalltalk-a-world-of-living-objects/#comment-56</link>
		<dc:creator>mo</dc:creator>
		<pubDate>Wed, 05 Nov 2008 04:03:01 +0000</pubDate>
		<guid isPermaLink="false">http://isaiahperumalla.wordpress.com/?p=11#comment-56</guid>
		<description>Wow! What a great introduction to Smalltalk. I&#039;m really interested to read more about it. Especially from an OO perspective, and how lessons from Smalltalk can be brought in to the realm of .NET.

Thanks,
Mo</description>
		<content:encoded><![CDATA[<p>Wow! What a great introduction to Smalltalk. I&#8217;m really interested to read more about it. Especially from an OO perspective, and how lessons from Smalltalk can be brought in to the realm of .NET.</p>
<p>Thanks,<br />
Mo</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on My journey to Smalltalk by Matt Dunn</title>
		<link>http://isaiahperumalla.wordpress.com/2008/03/15/my-journey-to-smalltalk/#comment-55</link>
		<dc:creator>Matt Dunn</dc:creator>
		<pubDate>Thu, 14 Aug 2008 16:58:29 +0000</pubDate>
		<guid isPermaLink="false">http://isaiahperumalla.wordpress.com/?p=5#comment-55</guid>
		<description>Theres a great paper that Alan wrote many moons ago on the early history of Smalltalk, it provides a fantastic insight into how the language developed early on, would highly recommend it if you haven&#039;t seen it before: http://lambda-the-ultimate.org/node/153

Cheers,
Matt</description>
		<content:encoded><![CDATA[<p>Theres a great paper that Alan wrote many moons ago on the early history of Smalltalk, it provides a fantastic insight into how the language developed early on, would highly recommend it if you haven&#8217;t seen it before: <a href="http://lambda-the-ultimate.org/node/153" rel="nofollow">http://lambda-the-ultimate.org/node/153</a></p>
<p>Cheers,<br />
Matt</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Smalltalk a world of living Objects by Matt Dunn</title>
		<link>http://isaiahperumalla.wordpress.com/2008/06/10/smalltalk-a-world-of-living-objects/#comment-54</link>
		<dc:creator>Matt Dunn</dc:creator>
		<pubDate>Thu, 14 Aug 2008 16:47:01 +0000</pubDate>
		<guid isPermaLink="false">http://isaiahperumalla.wordpress.com/?p=11#comment-54</guid>
		<description>Kent Becks seminal quote on image-based vs file-based development was &quot;Imagine, putting source code in files! How quaint.&quot;, says it all really :) 

Cheers,
Matt</description>
		<content:encoded><![CDATA[<p>Kent Becks seminal quote on image-based vs file-based development was &#8220;Imagine, putting source code in files! How quaint.&#8221;, says it all really <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  </p>
<p>Cheers,<br />
Matt</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Smalltalk a world of living Objects by Srikrishna</title>
		<link>http://isaiahperumalla.wordpress.com/2008/06/10/smalltalk-a-world-of-living-objects/#comment-52</link>
		<dc:creator>Srikrishna</dc:creator>
		<pubDate>Thu, 03 Jul 2008 14:14:32 +0000</pubDate>
		<guid isPermaLink="false">http://isaiahperumalla.wordpress.com/?p=11#comment-52</guid>
		<description>Wonderful article. I was a smalltalk developer for long time over 10 years. Currently i work on java application which is rewrite of smalltalk. We still use smalltalk to refer code and for other purposes. I still  love to do work smalltalk because of ease of development and debugging a big time booster. We write code in debugger which gets picked up immediately. That saves lot of time to compile and deploy cycle which is needed for java.

The best example of image and smalltalk objects never die is: Recently, i had to debug something in smalltalk, i had breakpoint in the middle of the process and forgot to resume. I went back to smalltalk image after 3 or 4 days and i could resume the process which worked beautifully. 

Also, it is a big time confidence booster for any developer. I believe it forces to learn more into internals and makes you think of objects which is very good thing in long term. 

Today, i was talking to my long time friend who was a smalltalker. Now he works in .NET and flex applications. I asked him how he was doing with flex development and told him it is kind of difficult to fix problem without external help. He told me, most of things can be fixed after working in Smalltalk. 

I think the reason, you are allowed to see the code even the system code except for VM (Virtual machine). 

lubos -- I guarantee, It will be a good experience for you.</description>
		<content:encoded><![CDATA[<p>Wonderful article. I was a smalltalk developer for long time over 10 years. Currently i work on java application which is rewrite of smalltalk. We still use smalltalk to refer code and for other purposes. I still  love to do work smalltalk because of ease of development and debugging a big time booster. We write code in debugger which gets picked up immediately. That saves lot of time to compile and deploy cycle which is needed for java.</p>
<p>The best example of image and smalltalk objects never die is: Recently, i had to debug something in smalltalk, i had breakpoint in the middle of the process and forgot to resume. I went back to smalltalk image after 3 or 4 days and i could resume the process which worked beautifully. </p>
<p>Also, it is a big time confidence booster for any developer. I believe it forces to learn more into internals and makes you think of objects which is very good thing in long term. </p>
<p>Today, i was talking to my long time friend who was a smalltalker. Now he works in .NET and flex applications. I asked him how he was doing with flex development and told him it is kind of difficult to fix problem without external help. He told me, most of things can be fixed after working in Smalltalk. </p>
<p>I think the reason, you are allowed to see the code even the system code except for VM (Virtual machine). </p>
<p>lubos &#8212; I guarantee, It will be a good experience for you.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Smalltalk a world of living Objects by lubos</title>
		<link>http://isaiahperumalla.wordpress.com/2008/06/10/smalltalk-a-world-of-living-objects/#comment-45</link>
		<dc:creator>lubos</dc:creator>
		<pubDate>Wed, 11 Jun 2008 14:48:59 +0000</pubDate>
		<guid isPermaLink="false">http://isaiahperumalla.wordpress.com/?p=11#comment-45</guid>
		<description>Wow, thanks for this introduction. I&#039;m going to research about this language right now, it&#039;s kind of refreshing concept when you compare it to Java or C#</description>
		<content:encoded><![CDATA[<p>Wow, thanks for this introduction. I&#8217;m going to research about this language right now, it&#8217;s kind of refreshing concept when you compare it to Java or C#</p>
]]></content:encoded>
	</item>
</channel>
</rss>
