<?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:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments for Petter Måhlén&#039;s Blog</title>
	<atom:link href="http://pettermahlen.com/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://pettermahlen.com</link>
	<description>It&#039;s all about the Coding</description>
	<lastBuildDate>Thu, 07 Feb 2013 11:09:53 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>Comment on BDD using Lettuce vs Cucumber-JVM by Olivier Carrère</title>
		<link>http://pettermahlen.com/2012/05/23/bdd-using-lettuce-vs-cucumber-jvm/#comment-483</link>
		<dc:creator><![CDATA[Olivier Carrère]]></dc:creator>
		<pubDate>Thu, 07 Feb 2013 11:09:53 +0000</pubDate>
		<guid isPermaLink="false">http://pettermahlen.com/?p=563#comment-483</guid>
		<description><![CDATA[I know it&#039;s been some time since you&#039;ve posted this, but here&#039;s my take.
I work on a project written 80% in python. We test python driven code.
I personally have just finished evaluating lettuce for 2 weeks. In its current state, it&#039;s nowhere as complete/stable as cucumber, to the point it&#039;s almost inconvenient. Most notable flaw for me is the the current implementation of multiline strings, which requires 2 double quotes if you want to have double quotes at the beginning or at the end of a line... It&#039;s not quite gherkin (and it&#039;s pretty clunky if you ask me). 
So, I&#039;m currently looking into using rubypython in cucumber for the small nuggets of code where we may need to call python code directly.]]></description>
		<content:encoded><![CDATA[<p>I know it&#8217;s been some time since you&#8217;ve posted this, but here&#8217;s my take.<br />
I work on a project written 80% in python. We test python driven code.<br />
I personally have just finished evaluating lettuce for 2 weeks. In its current state, it&#8217;s nowhere as complete/stable as cucumber, to the point it&#8217;s almost inconvenient. Most notable flaw for me is the the current implementation of multiline strings, which requires 2 double quotes if you want to have double quotes at the beginning or at the end of a line&#8230; It&#8217;s not quite gherkin (and it&#8217;s pretty clunky if you ask me).<br />
So, I&#8217;m currently looking into using rubypython in cucumber for the small nuggets of code where we may need to call python code directly.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Composition vs Inheritance by Petter Måhlén</title>
		<link>http://pettermahlen.com/2010/08/20/composition-vs-inheritance/#comment-452</link>
		<dc:creator><![CDATA[Petter Måhlén]]></dc:creator>
		<pubDate>Fri, 04 Jan 2013 10:29:22 +0000</pubDate>
		<guid isPermaLink="false">http://pettermahlen.com/?p=257#comment-452</guid>
		<description><![CDATA[Yes, we do agree. :)]]></description>
		<content:encoded><![CDATA[<p>Yes, we do agree. :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Composition vs Inheritance by Manne Fagerlind</title>
		<link>http://pettermahlen.com/2010/08/20/composition-vs-inheritance/#comment-451</link>
		<dc:creator><![CDATA[Manne Fagerlind]]></dc:creator>
		<pubDate>Fri, 04 Jan 2013 10:06:20 +0000</pubDate>
		<guid isPermaLink="false">http://pettermahlen.com/?p=257#comment-451</guid>
		<description><![CDATA[Yes, we have common ancestors, but what defines us as individuals isn&#039;t the history of our species (inheritance) but the properties of our bodies (composition). As you rightly point out, the relationship between biological history and common traits is very shaky. The inheritance concept is based on Aristotelian logic and really too simplistic when applied to most real-world problems. In the area of animals, it is only relevant as a historical concept.

I think we agree about the main thing: favouring composition over inheritance. It will do all developers a world of good.]]></description>
		<content:encoded><![CDATA[<p>Yes, we have common ancestors, but what defines us as individuals isn&#8217;t the history of our species (inheritance) but the properties of our bodies (composition). As you rightly point out, the relationship between biological history and common traits is very shaky. The inheritance concept is based on Aristotelian logic and really too simplistic when applied to most real-world problems. In the area of animals, it is only relevant as a historical concept.</p>
<p>I think we agree about the main thing: favouring composition over inheritance. It will do all developers a world of good.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Composition vs Inheritance by Petter Måhlén</title>
		<link>http://pettermahlen.com/2010/08/20/composition-vs-inheritance/#comment-450</link>
		<dc:creator><![CDATA[Petter Måhlén]]></dc:creator>
		<pubDate>Fri, 04 Jan 2013 09:45:53 +0000</pubDate>
		<guid isPermaLink="false">http://pettermahlen.com/?p=257#comment-450</guid>
		<description><![CDATA[I&#039;m not sure I&#039;d go so far as to say that inheritance doesn&#039;t exist in the animal kingdom (the ghost of Linné might come to haunt me if I did!). I was trying to make a slight variation of that point: even though inheritance does exist, it&#039;s not necessarily the best perspective to have when you are creating a domain model for some specific problem. Humans and Chimpanzees are both Primates because we share the same ancestors. So there is an is-a relationship. But that relationship doesn&#039;t have to be expressed through classes inheriting from each other, and I think doing so is usually a bad idea. If you do need that relationship in the code, maybe the best choice is a simple tree of objects rather than a hierarchy of classes. 

In the animal kingdom, parallel evolution means you cannot say that common traits (like a bipedal walk, or having eyes) are necessarily inherited. They can appear spontaneously on separate branches/nodes of the inheritance tree. The same is often true of other domains - you may want both your button and your text to be clickable, but I think it generally makes the code awkward if you add the &#039;clickable&#039; behaviour into a parent class of both of those (especially if, say, you don&#039;t want read-only text to be clickable, or something). And there is much less strength in the argument that buttons and texts are both &#039;ClickableWidgets&#039; than that humans and chimps are primates. The &#039;ClickableWidget&#039; parent has probably been added because the mistake of using a class hierarchy had already been made.]]></description>
		<content:encoded><![CDATA[<p>I&#8217;m not sure I&#8217;d go so far as to say that inheritance doesn&#8217;t exist in the animal kingdom (the ghost of Linné might come to haunt me if I did!). I was trying to make a slight variation of that point: even though inheritance does exist, it&#8217;s not necessarily the best perspective to have when you are creating a domain model for some specific problem. Humans and Chimpanzees are both Primates because we share the same ancestors. So there is an is-a relationship. But that relationship doesn&#8217;t have to be expressed through classes inheriting from each other, and I think doing so is usually a bad idea. If you do need that relationship in the code, maybe the best choice is a simple tree of objects rather than a hierarchy of classes. </p>
<p>In the animal kingdom, parallel evolution means you cannot say that common traits (like a bipedal walk, or having eyes) are necessarily inherited. They can appear spontaneously on separate branches/nodes of the inheritance tree. The same is often true of other domains &#8211; you may want both your button and your text to be clickable, but I think it generally makes the code awkward if you add the &#8216;clickable&#8217; behaviour into a parent class of both of those (especially if, say, you don&#8217;t want read-only text to be clickable, or something). And there is much less strength in the argument that buttons and texts are both &#8216;ClickableWidgets&#8217; than that humans and chimps are primates. The &#8216;ClickableWidget&#8217; parent has probably been added because the mistake of using a class hierarchy had already been made.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on VoltDB Evaluation Notes by Manne Fagerlind</title>
		<link>http://pettermahlen.com/2012/09/06/voltdb-evaluation-notes/#comment-449</link>
		<dc:creator><![CDATA[Manne Fagerlind]]></dc:creator>
		<pubDate>Fri, 04 Jan 2013 08:54:34 +0000</pubDate>
		<guid isPermaLink="false">http://pettermahlen.com/?p=469#comment-449</guid>
		<description><![CDATA[VoltDB certainly looks interesting.

I suppose you could use PowerMock to mock the VoltTableRow class, although that, too, leaves an aftertaste. Another option would be to create an interface that looks just like that of the class and then a wrapper implementing that interface.]]></description>
		<content:encoded><![CDATA[<p>VoltDB certainly looks interesting.</p>
<p>I suppose you could use PowerMock to mock the VoltTableRow class, although that, too, leaves an aftertaste. Another option would be to create an interface that looks just like that of the class and then a wrapper implementing that interface.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Composition vs Inheritance by Manne Fagerlind</title>
		<link>http://pettermahlen.com/2010/08/20/composition-vs-inheritance/#comment-448</link>
		<dc:creator><![CDATA[Manne Fagerlind]]></dc:creator>
		<pubDate>Fri, 04 Jan 2013 08:23:35 +0000</pubDate>
		<guid isPermaLink="false">http://pettermahlen.com/?p=257#comment-448</guid>
		<description><![CDATA[Funny, I used this very example in a presentation the other day. I think it&#039;s a good way to demonstrate that inheritance is over-used and composition is generally more useful.

I&#039;d say inheritance doesn&#039;t really exist in the animal kingdom; it&#039;s just a theoretical construct. We are what we are because of our constituent parts (molecules, cells, body parts), not because we have been categorized as mammals or primates. The same goes for most other concepts, especially physical objects.]]></description>
		<content:encoded><![CDATA[<p>Funny, I used this very example in a presentation the other day. I think it&#8217;s a good way to demonstrate that inheritance is over-used and composition is generally more useful.</p>
<p>I&#8217;d say inheritance doesn&#8217;t really exist in the animal kingdom; it&#8217;s just a theoretical construct. We are what we are because of our constituent parts (molecules, cells, body parts), not because we have been categorized as mammals or primates. The same goes for most other concepts, especially physical objects.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on VoltDB Evaluation Notes by VoltDB as High Volume Transactional Store &#124; Shopzilla Tech Blog</title>
		<link>http://pettermahlen.com/2012/09/06/voltdb-evaluation-notes/#comment-431</link>
		<dc:creator><![CDATA[VoltDB as High Volume Transactional Store &#124; Shopzilla Tech Blog]]></dc:creator>
		<pubDate>Wed, 03 Oct 2012 07:05:05 +0000</pubDate>
		<guid isPermaLink="false">http://pettermahlen.com/?p=469#comment-431</guid>
		<description><![CDATA[[...] (This is a somewhat updated cross-post from http://pettermahlen.com/2012/09/06/voltdb-evaluation-notes/) [...]]]></description>
		<content:encoded><![CDATA[<p>[...] (This is a somewhat updated cross-post from <a href="http://pettermahlen.com/2012/09/06/voltdb-evaluation-notes/" rel="nofollow">http://pettermahlen.com/2012/09/06/voltdb-evaluation-notes/</a>) [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Product Development vs Productivity Development by Mateusz Szczap</title>
		<link>http://pettermahlen.com/2012/08/31/product-development-vs-productivity-development/#comment-349</link>
		<dc:creator><![CDATA[Mateusz Szczap]]></dc:creator>
		<pubDate>Thu, 06 Sep 2012 09:33:54 +0000</pubDate>
		<guid isPermaLink="false">http://pettermahlen.com/?p=577#comment-349</guid>
		<description><![CDATA[Totally like it and will propose it here at eBay as it is missing (only refactorings as part of feature delivery)]]></description>
		<content:encoded><![CDATA[<p>Totally like it and will propose it here at eBay as it is missing (only refactorings as part of feature delivery)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Product Development vs Productivity Development by Mik Quinlan</title>
		<link>http://pettermahlen.com/2012/08/31/product-development-vs-productivity-development/#comment-346</link>
		<dc:creator><![CDATA[Mik Quinlan]]></dc:creator>
		<pubDate>Mon, 03 Sep 2012 05:10:47 +0000</pubDate>
		<guid isPermaLink="false">http://pettermahlen.com/?p=577#comment-346</guid>
		<description><![CDATA[&quot;But most of the time, it&#039;s about removing obstacles and frustrations that keep us from delivering the product improvements that are what we get our job satisfaction from....&quot; 

This is the most important point, IMO.  A good codebase is a joy to work with and has intangible benefits such as keeping up motivation and fostering innovation as not so much time is taken up trying to build more on shaky foundations.

Nice post.]]></description>
		<content:encoded><![CDATA[<p>&#8220;But most of the time, it&#8217;s about removing obstacles and frustrations that keep us from delivering the product improvements that are what we get our job satisfaction from&#8230;.&#8221; </p>
<p>This is the most important point, IMO.  A good codebase is a joy to work with and has intangible benefits such as keeping up motivation and fostering innovation as not so much time is taken up trying to build more on shaky foundations.</p>
<p>Nice post.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Composition vs Inheritance by Petter Måhlén</title>
		<link>http://pettermahlen.com/2010/08/20/composition-vs-inheritance/#comment-343</link>
		<dc:creator><![CDATA[Petter Måhlén]]></dc:creator>
		<pubDate>Sat, 28 Jul 2012 13:49:20 +0000</pubDate>
		<guid isPermaLink="false">http://pettermahlen.com/?p=257#comment-343</guid>
		<description><![CDATA[It looks like maybe a part of your comment didn&#039;t make it - the point of the example was to show how easy it is to incorrectly use a model with inheritance using a concept I think is universally known. If you have some more ideas about how the example could be improved or why it is bad, go ahead and post them!]]></description>
		<content:encoded><![CDATA[<p>It looks like maybe a part of your comment didn&#8217;t make it &#8211; the point of the example was to show how easy it is to incorrectly use a model with inheritance using a concept I think is universally known. If you have some more ideas about how the example could be improved or why it is bad, go ahead and post them!</p>
]]></content:encoded>
	</item>
</channel>
</rss>
