<?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: How to be a better programmer</title>
	<atom:link href="http://richardkmiller.com/212/how-to-be-a-better-programmer/feed" rel="self" type="application/rss+xml" />
	<link>http://richardkmiller.com/212/how-to-be-a-better-programmer</link>
	<description></description>
	<lastBuildDate>Wed, 08 Feb 2012 16:07:14 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Paul</title>
		<link>http://richardkmiller.com/212/how-to-be-a-better-programmer/comment-page-1#comment-13155</link>
		<dc:creator>Paul</dc:creator>
		<pubDate>Thu, 23 Nov 2006 04:07:12 +0000</pubDate>
		<guid isPermaLink="false">http://www.richardkmiller.com/blog/archives/2006/09/how-to-be-a-better-programmer#comment-13155</guid>
		<description>Derek,

While I can appreciate the logistical noodling you have done to deconstruct what I wrote. You missed the point by a very wide margin.

Each of these maxims are true on their face, but just like Poor Richard&#039;s Almanac, if you tried to live by every word in every situation, you&#039;d fail miserably. They are meant to be applied as needed.

And yes, it is an art form first, with a technical basis. One could make the argument successfully, that either music or oil paintings are simply a confluence of mathematical criteria that satisfy some golden mean - and they&#039;d be right. But, only the master of that medium can create that golden mean at will (talent) - irrespective of the educated man who comprehends the mechanics.

...Paul</description>
		<content:encoded><![CDATA[<div class='microid-254bbde7637cda9f60441fd4156c54e1db28d57f'>Derek,</p>
<p>While I can appreciate the logistical noodling you have done to deconstruct what I wrote. You missed the point by a very wide margin.</p>
<p>Each of these maxims are true on their face, but just like Poor Richard&#8217;s Almanac, if you tried to live by every word in every situation, you&#8217;d fail miserably. They are meant to be applied as needed.</p>
<p>And yes, it is an art form first, with a technical basis. One could make the argument successfully, that either music or oil paintings are simply a confluence of mathematical criteria that satisfy some golden mean &#8211; and they&#8217;d be right. But, only the master of that medium can create that golden mean at will (talent) &#8211; irrespective of the educated man who comprehends the mechanics.</p>
<p>&#8230;Paul</p></div>
]]></content:encoded>
	</item>
	<item>
		<title>By: Derek</title>
		<link>http://richardkmiller.com/212/how-to-be-a-better-programmer/comment-page-1#comment-7296</link>
		<dc:creator>Derek</dc:creator>
		<pubDate>Thu, 14 Sep 2006 07:54:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.richardkmiller.com/blog/archives/2006/09/how-to-be-a-better-programmer#comment-7296</guid>
		<description>I would like to think that a better programmer writes better code, but I don&#039;t see how much of this advice addresses that concern. Thinking of #14 in particular, I see how this might be applied to being a better programmer, but not how to produce better code. While it&#039;s true that the more elegant solution is often the better one, the superiority of one algorithm over another is pretty objective in computing. A complexity analysis (big-O and the like) will usually answer the question of which solution is better. In the event that two solutions are similar in complexity, real world application would reveal which excels in performance and robustness. All those elements being equal, you can finally subjectively evaluate the solutions - making the artistic test the final one.

What about the &quot;art&quot; of making code readable and maintainable? While these are valid concerns, a great programmer still wouldn&#039;t sacrifice significant performance for their sake.

As for developing an individual style, I think that&#039;s fine for coding conventions and for those rare times when it really doesn&#039;t matter what type of loop you use and similar circumstances, but there are advantages to conformity. Maybe my style dictates that I use a selection sort whenever a sort is called for. It&#039;s a simple solution (#4 above), and maybe it&#039;s fun (#16) taking a bathroom break while waiting for your algorithm to run, but #8 definitely applies: there is a better way. And in comparison sorts, it doesn&#039;t get better than quicksort (because of the O(n log n) lower bound) so now #8 is out. I think it&#039;s fine to adopt that style and not insist on rolling your own just because writing code commando-style fits your style.

While at the outset the author downplays the need for a mentor, some of the advice relies on using others for advancement. I think the state of the art in coding has moved far beyond this informal approach. Enough work has been done in computing that we can, with confidence, say that one solution is better than another. My impression from this advice is that we should stumble through trial and error of solutions forever, always hoping to find something better. And then when we do, we won&#039;t even know why it&#039;s better.

But I suppose this is the heart of the debate between academic and practitioner. Personally, I&#039;d rather know why I need the &#039;const&#039; keyword, and not just use it because I know the compiler complains if I don&#039;t.</description>
		<content:encoded><![CDATA[<div class='microid-1eee466ce42d7246f5922c5632d694e0c2e303c0'>I would like to think that a better programmer writes better code, but I don&#8217;t see how much of this advice addresses that concern. Thinking of #14 in particular, I see how this might be applied to being a better programmer, but not how to produce better code. While it&#8217;s true that the more elegant solution is often the better one, the superiority of one algorithm over another is pretty objective in computing. A complexity analysis (big-O and the like) will usually answer the question of which solution is better. In the event that two solutions are similar in complexity, real world application would reveal which excels in performance and robustness. All those elements being equal, you can finally subjectively evaluate the solutions &#8211; making the artistic test the final one.</p>
<p>What about the &#8220;art&#8221; of making code readable and maintainable? While these are valid concerns, a great programmer still wouldn&#8217;t sacrifice significant performance for their sake.</p>
<p>As for developing an individual style, I think that&#8217;s fine for coding conventions and for those rare times when it really doesn&#8217;t matter what type of loop you use and similar circumstances, but there are advantages to conformity. Maybe my style dictates that I use a selection sort whenever a sort is called for. It&#8217;s a simple solution (#4 above), and maybe it&#8217;s fun (#16) taking a bathroom break while waiting for your algorithm to run, but #8 definitely applies: there is a better way. And in comparison sorts, it doesn&#8217;t get better than quicksort (because of the O(n log n) lower bound) so now #8 is out. I think it&#8217;s fine to adopt that style and not insist on rolling your own just because writing code commando-style fits your style.</p>
<p>While at the outset the author downplays the need for a mentor, some of the advice relies on using others for advancement. I think the state of the art in coding has moved far beyond this informal approach. Enough work has been done in computing that we can, with confidence, say that one solution is better than another. My impression from this advice is that we should stumble through trial and error of solutions forever, always hoping to find something better. And then when we do, we won&#8217;t even know why it&#8217;s better.</p>
<p>But I suppose this is the heart of the debate between academic and practitioner. Personally, I&#8217;d rather know why I need the &#8216;const&#8217; keyword, and not just use it because I know the compiler complains if I don&#8217;t.</p></div>
]]></content:encoded>
	</item>
</channel>
</rss>

