<?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"
	>
<channel>
	<title>Comments on: Think&#160;Simple</title>
	<atom:link href="http://www.magpiebrain.com/blog/2004/10/07/think-simple/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.magpiebrain.com/blog/2004/10/07/think-simple/</link>
	<description>Sam Newman's blog</description>
	<pubDate>Sat, 05 Jul 2008 00:45:32 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
		<item>
		<title>By: Sam Newman</title>
		<link>http://www.magpiebrain.com/blog/2004/10/07/think-simple/#comment-552</link>
		<dc:creator>Sam Newman</dc:creator>
		<pubDate>Wed, 10 Nov 2004 17:42:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.magpiebrain.com/2004/10/07/think-simple/#comment-552</guid>
		<description>Yep - it's the "Lines Of Code = business value" mentality - I get concerned when anyone starts asking for code metrics rather than caring about shipped functionality.
</description>
		<content:encoded><![CDATA[<p>Yep &#8211; it&#8217;s the &#8220;Lines Of Code = business value&#8221; mentality &#8211; I get concerned when anyone starts asking for code metrics rather than caring about shipped functionality.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris Milburn</title>
		<link>http://www.magpiebrain.com/blog/2004/10/07/think-simple/#comment-551</link>
		<dc:creator>Chris Milburn</dc:creator>
		<pubDate>Wed, 10 Nov 2004 16:59:41 +0000</pubDate>
		<guid isPermaLink="false">http://www.magpiebrain.com/2004/10/07/think-simple/#comment-551</guid>
		<description>One thing I have come across is that managers (particularly bad managers) are impressed by heaps of really complicated code, when you say you could rewrite it using half the code they just dont believe you !</description>
		<content:encoded><![CDATA[<p>One thing I have come across is that managers (particularly bad managers) are impressed by heaps of really complicated code, when you say you could rewrite it using half the code they just dont believe you !</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ville Aine</title>
		<link>http://www.magpiebrain.com/blog/2004/10/07/think-simple/#comment-550</link>
		<dc:creator>Ville Aine</dc:creator>
		<pubDate>Wed, 13 Oct 2004 16:26:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.magpiebrain.com/2004/10/07/think-simple/#comment-550</guid>
		<description>Tim, perhaps you meant this from C.A.R. Hoare?

bq. "There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult."</description>
		<content:encoded><![CDATA[<p>Tim, perhaps you meant this from C.A.R. Hoare?</p>
<blockquote>
<p>&#8220;There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.&#8221; </p>
</blockquote>
]]></content:encoded>
	</item>
	<item>
		<title>By: portly</title>
		<link>http://www.magpiebrain.com/blog/2004/10/07/think-simple/#comment-549</link>
		<dc:creator>portly</dc:creator>
		<pubDate>Tue, 12 Oct 2004 09:37:39 +0000</pubDate>
		<guid isPermaLink="false">http://www.magpiebrain.com/2004/10/07/think-simple/#comment-549</guid>
		<description>Rod Johnson quotes Einstein in his 'J2EE Development without EJB' book (RJ's, not Einstein's ;-) ) ... 

[Things should be] "as simple as possible and no simpler"

a good maxim for life methinks</description>
		<content:encoded><![CDATA[<p>Rod Johnson quotes Einstein in his &#8216;J2EE Development without EJB&#8217; book (RJ&#8217;s, not Einstein&#8217;s ;-) ) ... </p>
<p>[Things should be] &#8220;as simple as possible and no simpler&#8221;</p>
<p>a good maxim for life methinks</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tim Bacon</title>
		<link>http://www.magpiebrain.com/blog/2004/10/07/think-simple/#comment-548</link>
		<dc:creator>Tim Bacon</dc:creator>
		<pubDate>Mon, 11 Oct 2004 11:08:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.magpiebrain.com/2004/10/07/think-simple/#comment-548</guid>
		<description>There's a great quote about this that I can vaguely remember (for the real McCoy try wandering around Ward's Wiki in the general area of http://c2.com/cgi/wiki?DoTheSimplestThingThatCouldPossiblyWork):

"There are two ways that a programmer can demonstrate how good they are. The first is to write code that is so complex no-one else can understand it. The second is to write code that is so simple no-one else can improve on it."</description>
		<content:encoded><![CDATA[<p>There&#8217;s a great quote about this that I can vaguely remember (for the real McCoy try wandering around Ward&#8217;s Wiki in the general area of <a href="http://c2.com/cgi/wiki?DoTheSimplestThingThatCouldPossiblyWork" onclick="javascript:pageTracker._trackPageview('/outbound/comment/c2.com');" rel="nofollow">http://c2.com/cgi/wiki?DoTheSimplestThingThatCouldPossiblyWork</a>):</p>
<p>&#8220;There are two ways that a programmer can demonstrate how good they are. The first is to write code that is so complex no-one else can understand it. The second is to write code that is so simple no-one else can improve on it.&#8221; </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sam Newman</title>
		<link>http://www.magpiebrain.com/blog/2004/10/07/think-simple/#comment-547</link>
		<dc:creator>Sam Newman</dc:creator>
		<pubDate>Mon, 11 Oct 2004 10:00:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.magpiebrain.com/2004/10/07/think-simple/#comment-547</guid>
		<description>And we all know how small your codebase is, don't we Ian :-)

In all seriousness, I've certainly seen complex code used as some kind of macho status symbol. It often reminded me of people who climb mountains - sure it's a challenge, but it's much easier to just go round the bloody thing. Writing complex code by way of a thought excersie is all well and good but doesn't have a place in a maintainable codebase.</description>
		<content:encoded><![CDATA[<p>And we all know how small your codebase is, don&#8217;t we Ian :-)</p>
<p>In all seriousness, I&#8217;ve certainly seen complex code used as some kind of macho status symbol. It often reminded me of people who climb mountains &#8211; sure it&#8217;s a challenge, but it&#8217;s much easier to just go round the bloody thing. Writing complex code by way of a thought excersie is all well and good but doesn&#8217;t have a place in a maintainable codebase.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: portly</title>
		<link>http://www.magpiebrain.com/blog/2004/10/07/think-simple/#comment-546</link>
		<dc:creator>portly</dc:creator>
		<pubDate>Mon, 11 Oct 2004 09:30:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.magpiebrain.com/2004/10/07/think-simple/#comment-546</guid>
		<description>Some developers I've worked with seem to think that the size of their codebase is directly related to the size of their lunchbox ...</description>
		<content:encoded><![CDATA[<p>Some developers I&#8217;ve worked with seem to think that the size of their codebase is directly related to the size of their lunchbox &#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David Flett</title>
		<link>http://www.magpiebrain.com/blog/2004/10/07/think-simple/#comment-545</link>
		<dc:creator>David Flett</dc:creator>
		<pubDate>Sun, 10 Oct 2004 10:04:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.magpiebrain.com/2004/10/07/think-simple/#comment-545</guid>
		<description>"Better Faster Lighter Java":http://www.amazon.com/exec/obidos/tg/detail/-/0596006764/qid=1097398975/sr=8-1/ref=sr_8_xs_ap_i1_xgl14/104-8886722-3321522?v=glance&#38;s=books&#38;n=507846 is a worthwhile read on simplifying your Java code.</description>
		<content:encoded><![CDATA[<p><a href="http://www.amazon.com/exec/obidos/tg/detail/-/0596006764/qid=1097398975/sr=8-1/ref=sr_8_xs_ap_i1_xgl14/104-8886722-3321522?v=glance&#038;s=books&#038;n=507846" onclick="javascript:pageTracker._trackPageview('/outbound/comment/www.amazon.com');">Better Faster Lighter Java</a> is a worthwhile read on simplifying your Java code.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: hammett</title>
		<link>http://www.magpiebrain.com/blog/2004/10/07/think-simple/#comment-544</link>
		<dc:creator>hammett</dc:creator>
		<pubDate>Fri, 08 Oct 2004 18:33:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.magpiebrain.com/2004/10/07/think-simple/#comment-544</guid>
		<description>Hello Sam.
I think its all educational. We - programmers - were taught to believe the more complex our code is, the best we are - for dealing with complexity. 
_Simplicity_ is a inversion of these values and something difficult to achieve, as difficult as to change your values and conception about something. 
Probably a new generation of professionals will think different from now on, which is _hopefully_ great.

Cheers</description>
		<content:encoded><![CDATA[<p>Hello Sam.<br />
I think its all educational. We &#8211; programmers &#8211; were taught to believe the more complex our code is, the best we are &#8211; for dealing with complexity. <br />
<em>Simplicity</em> is a inversion of these values and something difficult to achieve, as difficult as to change your values and conception about something. <br />
Probably a new generation of professionals will think different from now on, which is <em>hopefully</em> great.</p>
<p>Cheers</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Stuart Ervine</title>
		<link>http://www.magpiebrain.com/blog/2004/10/07/think-simple/#comment-543</link>
		<dc:creator>Stuart Ervine</dc:creator>
		<pubDate>Fri, 08 Oct 2004 13:25:20 +0000</pubDate>
		<guid isPermaLink="false">http://www.magpiebrain.com/2004/10/07/think-simple/#comment-543</guid>
		<description>I have to agree with you Sam, but I used to get a kick out of creating a really complicated system, that was as generic as possible to try and do everything and then showing off to all my developer buddies... for example a friend and I created a web based reporting tool that launched excel on the client installed some plugins, and ran a macro with an XML report template as a parameter. The macro then pinged a webservice and asked it for some data to put in the report and then built the report within excel. It worked really well, but was way over-engineered and the code was rubbish.
Now I strive for simplicity, and if code looks jumbled to me, then I try to do something about it. I've found that inexperienced developers like the BigObject antipattern (or monster-servlet or whatever it's called). Teaching people to avoid this is the first step towards simplicity in my eyes. I've found by teaching TDD, people start to see how to layer applications so they are loosely coupled and have simple objects.</description>
		<content:encoded><![CDATA[<p>I have to agree with you Sam, but I used to get a kick out of creating a really complicated system, that was as generic as possible to try and do everything and then showing off to all my developer buddies&#8230; for example a friend and I created a web based reporting tool that launched excel on the client installed some plugins, and ran a macro with an <acronym title="eXtensible Markup Language">XML</acronym> report template as a parameter. The macro then pinged a webservice and asked it for some data to put in the report and then built the report within excel. It worked really well, but was way over-engineered and the code was rubbish.<br />
Now I strive for simplicity, and if code looks jumbled to me, then I try to do something about it. I&#8217;ve found that inexperienced developers like the BigObject antipattern (or monster-servlet or whatever it&#8217;s called). Teaching people to avoid this is the first step towards simplicity in my eyes. I&#8217;ve found by teaching TDD, people start to see how to layer applications so they are loosely coupled and have simple objects.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
