<?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: Avoid Writing Unintuitive Code</title>
	<atom:link href="http://buffered.io/2007/07/20/avoid-writing-unintuitive-code/feed/" rel="self" type="application/rss+xml" />
	<link>http://buffered.io/2007/07/20/avoid-writing-unintuitive-code/</link>
	<description>What would OJ do?</description>
	<lastBuildDate>Wed, 08 Sep 2010 12:46:00 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>By: OJ</title>
		<link>http://buffered.io/2007/07/20/avoid-writing-unintuitive-code/comment-page-1/#comment-525</link>
		<dc:creator>OJ</dc:creator>
		<pubDate>Tue, 31 Jul 2007 11:45:10 +0000</pubDate>
		<guid isPermaLink="false">http://buffered.io/2007/07/20/avoid-writing-unintuitive-code/#comment-525</guid>
		<description>I agree with you. I&#039;ve said on more than one occasion (possibly even on this blog in the past) that the first iteration of your solution really serves only as a way for you to get a better understanding of the problem.

Only when you have attempted it once will you really be able to give it a good shot the second time (if not the third). The first time we try and tackle a problem we don&#039;t really understand it 100% nor know of all the possible points of failure. Iteration is the future!

It&#039;s a shame that it&#039;s rare to stumble across such pieces of code :(</description>
		<content:encoded><![CDATA[<p>I agree with you. I&#8217;ve said on more than one occasion (possibly even on this blog in the past) that the first iteration of your solution really serves only as a way for you to get a better understanding of the problem.</p>
<p>Only when you have attempted it once will you really be able to give it a good shot the second time (if not the third). The first time we try and tackle a problem we don&#8217;t really understand it 100% nor know of all the possible points of failure. Iteration is the future!</p>
<p>It&#8217;s a shame that it&#8217;s rare to stumble across such pieces of code <img src='http://buffered.io/wp-content/plugins/smilies-themer/Silk/emoticon_unhappy.png' alt=':(' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: OJ</title>
		<link>http://buffered.io/2007/07/20/avoid-writing-unintuitive-code/comment-page-1/#comment-2694</link>
		<dc:creator>OJ</dc:creator>
		<pubDate>Tue, 31 Jul 2007 11:45:00 +0000</pubDate>
		<guid isPermaLink="false">http://buffered.io/2007/07/20/avoid-writing-unintuitive-code/#comment-2694</guid>
		<description>I agree with you. I&#039;ve said on more than one occasion (possibly even on this blog in the past) that the first iteration of your solution really serves only as a way for you to get a better understanding of the problem.

Only when you have attempted it once will you really be able to give it a good shot the second time (if not the third). The first time we try and tackle a problem we don&#039;t really understand it 100% nor know of all the possible points of failure. Iteration is the future!

It&#039;s a shame that it&#039;s rare to stumble across such pieces of code :(</description>
		<content:encoded><![CDATA[<p>I agree with you. I&#8217;ve said on more than one occasion (possibly even on this blog in the past) that the first iteration of your solution really serves only as a way for you to get a better understanding of the problem.</p>
<p>Only when you have attempted it once will you really be able to give it a good shot the second time (if not the third). The first time we try and tackle a problem we don&#8217;t really understand it 100% nor know of all the possible points of failure. Iteration is the future!</p>
<p>It&#8217;s a shame that it&#8217;s rare to stumble across such pieces of code <img src='http://buffered.io/wp-content/plugins/smilies-themer/Silk/emoticon_unhappy.png' alt=':(' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Vault-Co</title>
		<link>http://buffered.io/2007/07/20/avoid-writing-unintuitive-code/comment-page-1/#comment-524</link>
		<dc:creator>Vault-Co</dc:creator>
		<pubDate>Tue, 31 Jul 2007 11:35:14 +0000</pubDate>
		<guid isPermaLink="false">http://buffered.io/2007/07/20/avoid-writing-unintuitive-code/#comment-524</guid>
		<description>Pardon? What were we talking about? :)

You&#039;re right. It is easier to describe why a piece of code is not intuitive (or maintainable) than why it is. In fact, sometimes when you look over a piece of code and marvel at how good it is, it is sometimes difficult to articulate just why it is so much better than say ... something produced by a code generator.

Wouldn&#039;t you agree it&#039;s really presence of mind by the author? The code shows that the author has given it much thought. Really good code you look at first and think, oh, I would not have done it like that. Then you realize the author of the code has already worked through your mistakes and did it that way as a result of much contemplation.

That&#039;s why the very best code is almost always the product of a second effort. Usually it&#039;s that rewrite and cleanup that really nails it, cuts half the lines out and avoids trying to do things the object really shouldn&#039;t be handling.</description>
		<content:encoded><![CDATA[<p>Pardon? What were we talking about? <img src='http://buffered.io/wp-content/plugins/smilies-themer/Silk/emoticon_smile.png' alt=':)' class='wp-smiley' /><br />
You&#8217;re right. It is easier to describe why a piece of code is not intuitive (or maintainable) than why it is. In fact, sometimes when you look over a piece of code and marvel at how good it is, it is sometimes difficult to articulate just why it is so much better than say &#8230; something produced by a code generator.</p>
<p>Wouldn&#8217;t you agree it&#8217;s really presence of mind by the author? The code shows that the author has given it much thought. Really good code you look at first and think, oh, I would not have done it like that. Then you realize the author of the code has already worked through your mistakes and did it that way as a result of much contemplation.</p>
<p>That&#8217;s why the very best code is almost always the product of a second effort. Usually it&#8217;s that rewrite and cleanup that really nails it, cuts half the lines out and avoids trying to do things the object really shouldn&#8217;t be handling.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Vault-Co</title>
		<link>http://buffered.io/2007/07/20/avoid-writing-unintuitive-code/comment-page-1/#comment-2693</link>
		<dc:creator>Vault-Co</dc:creator>
		<pubDate>Tue, 31 Jul 2007 11:35:00 +0000</pubDate>
		<guid isPermaLink="false">http://buffered.io/2007/07/20/avoid-writing-unintuitive-code/#comment-2693</guid>
		<description>Pardon? What were we talking about? :)

You&#039;re right. It is easier to describe why a piece of code is not intuitive (or maintainable) than why it is. In fact, sometimes when you look over a piece of code and marvel at how good it is, it is sometimes difficult to articulate just why it is so much better than say ... something produced by a code generator.

Wouldn&#039;t you agree it&#039;s really presence of mind by the author? The code shows that the author has given it much thought. Really good code you look at first and think, oh, I would not have done it like that. Then you realize the author of the code has already worked through your mistakes and did it that way as a result of much contemplation.

That&#039;s why the very best code is almost always the product of a second effort. Usually it&#039;s that rewrite and cleanup that really nails it, cuts half the lines out and avoids trying to do things the object really shouldn&#039;t be handling.</description>
		<content:encoded><![CDATA[<p>Pardon? What were we talking about? <img src='http://buffered.io/wp-content/plugins/smilies-themer/Silk/emoticon_smile.png' alt=':)' class='wp-smiley' /><br />
You&#8217;re right. It is easier to describe why a piece of code is not intuitive (or maintainable) than why it is. In fact, sometimes when you look over a piece of code and marvel at how good it is, it is sometimes difficult to articulate just why it is so much better than say &#8230; something produced by a code generator.</p>
<p>Wouldn&#8217;t you agree it&#8217;s really presence of mind by the author? The code shows that the author has given it much thought. Really good code you look at first and think, oh, I would not have done it like that. Then you realize the author of the code has already worked through your mistakes and did it that way as a result of much contemplation.</p>
<p>That&#8217;s why the very best code is almost always the product of a second effort. Usually it&#8217;s that rewrite and cleanup that really nails it, cuts half the lines out and avoids trying to do things the object really shouldn&#8217;t be handling.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: OJ</title>
		<link>http://buffered.io/2007/07/20/avoid-writing-unintuitive-code/comment-page-1/#comment-516</link>
		<dc:creator>OJ</dc:creator>
		<pubDate>Tue, 31 Jul 2007 00:51:56 +0000</pubDate>
		<guid isPermaLink="false">http://buffered.io/2007/07/20/avoid-writing-unintuitive-code/#comment-516</guid>
		<description>&lt;blockquote&gt;&lt;p&gt;Yes, the double negative is sufficiently obtuse.&lt;/p&gt;&lt;/blockquote&gt;
If you&#039;re talking about the title of the post then I don&#039;t agree :) There is a subtle but important difference between &quot;Writing Intuitive Code&quot; and &quot;Not Writing Unintuitive Code&quot;. The point: it&#039;s easier to explain what&#039;s &lt;em&gt;not&lt;/em&gt; intuitive rather than what &lt;em&gt;is&lt;/em&gt;. Intuition varies a lot, but most people can agree on a lowest common denominator when it comes to being bad/unintuitive.</description>
		<content:encoded><![CDATA[<blockquote><p>Yes, the double negative is sufficiently obtuse.</p>
</blockquote>
<p>If you&#8217;re talking about the title of the post then I don&#8217;t agree <img src='http://buffered.io/wp-content/plugins/smilies-themer/Silk/emoticon_smile.png' alt=':)' class='wp-smiley' /> There is a subtle but important difference between &#8220;Writing Intuitive Code&#8221; and &#8220;Not Writing Unintuitive Code&#8221;. The point: it&#8217;s easier to explain what&#8217;s <em>not</em> intuitive rather than what <em>is</em>. Intuition varies a lot, but most people can agree on a lowest common denominator when it comes to being bad/unintuitive.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: OJ</title>
		<link>http://buffered.io/2007/07/20/avoid-writing-unintuitive-code/comment-page-1/#comment-2686</link>
		<dc:creator>OJ</dc:creator>
		<pubDate>Tue, 31 Jul 2007 00:51:00 +0000</pubDate>
		<guid isPermaLink="false">http://buffered.io/2007/07/20/avoid-writing-unintuitive-code/#comment-2686</guid>
		<description>&lt;blockquote&gt;Yes, the double negative is sufficiently obtuse.&lt;/blockquote&gt;
If you&#039;re talking about the title of the post then I don&#039;t agree :) There is a subtle but important difference between &quot;Writing Intuitive Code&quot; and &quot;Not Writing Unintuitive Code&quot;. The point: it&#039;s easier to explain what&#039;s &lt;em&gt;not&lt;/em&gt; intuitive rather than what &lt;em&gt;is&lt;/em&gt;. Intuition varies a lot, but most people can agree on a lowest common denominator when it comes to being bad/unintuitive.</description>
		<content:encoded><![CDATA[<blockquote><p>Yes, the double negative is sufficiently obtuse.</p></blockquote>
<p>If you&#8217;re talking about the title of the post then I don&#8217;t agree <img src='http://buffered.io/wp-content/plugins/smilies-themer/Silk/emoticon_smile.png' alt=':)' class='wp-smiley' /> There is a subtle but important difference between &#8220;Writing Intuitive Code&#8221; and &#8220;Not Writing Unintuitive Code&#8221;. The point: it&#8217;s easier to explain what&#8217;s <em>not</em> intuitive rather than what <em>is</em>. Intuition varies a lot, but most people can agree on a lowest common denominator when it comes to being bad/unintuitive.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: kirupaBlog - If it isn&#8217;t broken, take it apart and fix it! &#187; Blog Archive &#187; Interesting Links #3: Write Better Code, AK-47, Webcams&#8230;</title>
		<link>http://buffered.io/2007/07/20/avoid-writing-unintuitive-code/comment-page-1/#comment-523</link>
		<dc:creator>kirupaBlog - If it isn&#8217;t broken, take it apart and fix it! &#187; Blog Archive &#187; Interesting Links #3: Write Better Code, AK-47, Webcams&#8230;</dc:creator>
		<pubDate>Thu, 26 Jul 2007 08:17:18 +0000</pubDate>
		<guid isPermaLink="false">http://buffered.io/2007/07/20/avoid-writing-unintuitive-code/#comment-523</guid>
		<description>[...] Writing Intuitive CodeA nice article extending the comments made in my Randomizing Elements in a List post on how code readability and maintainability can be improved.&#160; [...]</description>
		<content:encoded><![CDATA[<p>[...] Writing Intuitive CodeA nice article extending the comments made in my Randomizing Elements in a List post on how code readability and maintainability can be improved.&nbsp; [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Vault-Co</title>
		<link>http://buffered.io/2007/07/20/avoid-writing-unintuitive-code/comment-page-1/#comment-522</link>
		<dc:creator>Vault-Co</dc:creator>
		<pubDate>Thu, 26 Jul 2007 05:33:54 +0000</pubDate>
		<guid isPermaLink="false">http://buffered.io/2007/07/20/avoid-writing-unintuitive-code/#comment-522</guid>
		<description>Yes, the double negative is sufficiently obtuse.

If you want to write intuitive code, think about what you are doing. See the big picture.

Imagine being so literal minded you think &quot;object oriented programming&quot; means using a tool like Codesmith to generate a thousand objects, each a type specific class representing an object in your application, each tied to another thousand lines of autogenerated code to select, insert and update your object in the DBS. Is it possible to move farther away from good code without losing the topical appearance of providing the requested solution.

&quot;Bossman, you said you wanted a financial application and you listed 100 types of data in your spec, so I generated 100 objects all with data access routines, then generated all the front end pages with Ironspeed. My mom thought I should go into dentistry, but I heard there was more money in this IT thingamajiggy. I don&#039;t seem to actually be able to force my brain to think about the problem, but that doesn&#039;t mean I can&#039;t have a rich and rewarding career in IT by just pushing this generate button until my index finger collapses from strain injury. By the time people figure out I can&#039;t actually code, I&#039;ll be up for retirement. That works for me.&quot;

Code Generators / Intuitive Code Design =
AntiMatter / Matter. They are diametrical opposites. That&#039;s why I mentioned them.</description>
		<content:encoded><![CDATA[<p>Yes, the double negative is sufficiently obtuse.</p>
<p>If you want to write intuitive code, think about what you are doing. See the big picture.</p>
<p>Imagine being so literal minded you think &#8220;object oriented programming&#8221; means using a tool like Codesmith to generate a thousand objects, each a type specific class representing an object in your application, each tied to another thousand lines of autogenerated code to select, insert and update your object in the DBS. Is it possible to move farther away from good code without losing the topical appearance of providing the requested solution.</p>
<p>&#8220;Bossman, you said you wanted a financial application and you listed 100 types of data in your spec, so I generated 100 objects all with data access routines, then generated all the front end pages with Ironspeed. My mom thought I should go into dentistry, but I heard there was more money in this IT thingamajiggy. I don&#8217;t seem to actually be able to force my brain to think about the problem, but that doesn&#8217;t mean I can&#8217;t have a rich and rewarding career in IT by just pushing this generate button until my index finger collapses from strain injury. By the time people figure out I can&#8217;t actually code, I&#8217;ll be up for retirement. That works for me.&#8221;</p>
<p>Code Generators / Intuitive Code Design =<br />
AntiMatter / Matter. They are diametrical opposites. That&#8217;s why I mentioned them.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Vault-Co</title>
		<link>http://buffered.io/2007/07/20/avoid-writing-unintuitive-code/comment-page-1/#comment-2692</link>
		<dc:creator>Vault-Co</dc:creator>
		<pubDate>Thu, 26 Jul 2007 05:33:00 +0000</pubDate>
		<guid isPermaLink="false">http://buffered.io/2007/07/20/avoid-writing-unintuitive-code/#comment-2692</guid>
		<description>Yes, the double negative is sufficiently obtuse.

If you want to write intuitive code, think about what you are doing. See the big picture.

Imagine being so literal minded you think &quot;object oriented programming&quot; means using a tool like Codesmith to generate a thousand objects, each a type specific class representing an object in your application, each tied to another thousand lines of autogenerated code to select, insert and update your object in the DBS. Is it possible to move farther away from good code without losing the topical appearance of providing the requested solution.

&quot;Bossman, you said you wanted a financial application and you listed 100 types of data in your spec, so I generated 100 objects all with data access routines, then generated all the front end pages with Ironspeed. My mom thought I should go into dentistry, but I heard there was more money in this IT thingamajiggy. I don&#039;t seem to actually be able to force my brain to think about the problem, but that doesn&#039;t mean I can&#039;t have a rich and rewarding career in IT by just pushing this generate button until my index finger collapses from strain injury. By the time people figure out I can&#039;t actually code, I&#039;ll be up for retirement. That works for me.&quot;

Code Generators / Intuitive Code Design =
AntiMatter / Matter. They are diametrical opposites. That&#039;s why I mentioned them.</description>
		<content:encoded><![CDATA[<p>Yes, the double negative is sufficiently obtuse.</p>
<p>If you want to write intuitive code, think about what you are doing. See the big picture.</p>
<p>Imagine being so literal minded you think &#8220;object oriented programming&#8221; means using a tool like Codesmith to generate a thousand objects, each a type specific class representing an object in your application, each tied to another thousand lines of autogenerated code to select, insert and update your object in the DBS. Is it possible to move farther away from good code without losing the topical appearance of providing the requested solution.</p>
<p>&#8220;Bossman, you said you wanted a financial application and you listed 100 types of data in your spec, so I generated 100 objects all with data access routines, then generated all the front end pages with Ironspeed. My mom thought I should go into dentistry, but I heard there was more money in this IT thingamajiggy. I don&#8217;t seem to actually be able to force my brain to think about the problem, but that doesn&#8217;t mean I can&#8217;t have a rich and rewarding career in IT by just pushing this generate button until my index finger collapses from strain injury. By the time people figure out I can&#8217;t actually code, I&#8217;ll be up for retirement. That works for me.&#8221;</p>
<p>Code Generators / Intuitive Code Design =<br />
AntiMatter / Matter. They are diametrical opposites. That&#8217;s why I mentioned them.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: OJ</title>
		<link>http://buffered.io/2007/07/20/avoid-writing-unintuitive-code/comment-page-1/#comment-521</link>
		<dc:creator>OJ</dc:creator>
		<pubDate>Thu, 26 Jul 2007 02:11:18 +0000</pubDate>
		<guid isPermaLink="false">http://buffered.io/2007/07/20/avoid-writing-unintuitive-code/#comment-521</guid>
		<description>Grasshopper? :) I&#039;ll make an effort to stay on-topic and avoid commenting on that!

So in short, your point was:&lt;blockquote&gt;&lt;p&gt;Another way of avoiding unintuitive code is to &lt;strong&gt;not&lt;/strong&gt; use code generators.&lt;/p&gt;&lt;/blockquote&gt;Is that about right?</description>
		<content:encoded><![CDATA[<p>Grasshopper? <img src='http://buffered.io/wp-content/plugins/smilies-themer/Silk/emoticon_smile.png' alt=':)' class='wp-smiley' /> I&#8217;ll make an effort to stay on-topic and avoid commenting on that!</p>
<p>So in short, your point was:<br />
<blockquote>
<p>Another way of avoiding unintuitive code is to <strong>not</strong> use code generators.</p>
</blockquote>
<p>Is that about right?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
