<?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 on: &#9733; 7 Golden Rules That Make You a Better Programmer</title>
	<atom:link href="http://awads.net/wp/2010/06/10/7-golden-rules-that-make-you-a-better-programmer/feed/" rel="self" type="application/rss+xml" />
	<link>http://awads.net/wp/2010/06/10/7-golden-rules-that-make-you-a-better-programmer/</link>
	<description>News, views, tips and tricks on Oracle and other fun stuff</description>
	<lastBuildDate>Mon, 21 May 2012 00:26:47 -0700</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
	<item>
		<title>By: joel garry</title>
		<link>http://awads.net/wp/2010/06/10/7-golden-rules-that-make-you-a-better-programmer/comment-page-1/#comment-53600</link>
		<dc:creator>joel garry</dc:creator>
		<pubDate>Wed, 16 Jun 2010 23:10:20 +0000</pubDate>
		<guid isPermaLink="false">http://awads.net/wp/?p=1682#comment-53600</guid>
		<description>&lt;p&gt;Eddie, yes, that&#039;s what I meant, but it seemed more entertaining to put it that way given the post I was responding to.  I highly recommend Steven for PL/SQL, by the way, but I have a problem with the implicit idea (which I am not saying Steven puts out, just that it is out there) that programming in PL/SQL is generally the best way to go.  There is often a problem with people confusing PL with SQL, for that matter.&lt;/p&gt;

&lt;p&gt;Antonio, I have to say, there are a lot of very good reasons not to use &quot;...the most abstract/declarative/high-level language or tool you can and still be performant.&quot;  A few that come to mind are:  declarative may not be the best way to go (SQL itself was supposed to get rid of programmers, right?); available expertise may not be; performance may be overridden by maintainability, including the possibility that getting locked into a tool may diverge from Oracle&#039;s direction (many examples of tools that were cool in the 90&#039;s and suck now are out there); the marketing fluff I referred to, which may have many other names like paradigm-of-the-day; some tools don&#039;t show that they suck until you scale up; some tools may simply be overwhelmed in the market by Oracle&#039;s tools or other herding effects; some paradigms suck; and so on.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Eddie, yes, that&#8217;s what I meant, but it seemed more entertaining to put it that way given the post I was responding to.  I highly recommend Steven for PL/SQL, by the way, but I have a problem with the implicit idea (which I am not saying Steven puts out, just that it is out there) that programming in PL/SQL is generally the best way to go.  There is often a problem with people confusing PL with SQL, for that matter.</p>

<p>Antonio, I have to say, there are a lot of very good reasons not to use &#8220;&#8230;the most abstract/declarative/high-level language or tool you can and still be performant.&#8221;  A few that come to mind are:  declarative may not be the best way to go (SQL itself was supposed to get rid of programmers, right?); available expertise may not be; performance may be overridden by maintainability, including the possibility that getting locked into a tool may diverge from Oracle&#8217;s direction (many examples of tools that were cool in the 90&#8242;s and suck now are out there); the marketing fluff I referred to, which may have many other names like paradigm-of-the-day; some tools don&#8217;t show that they suck until you scale up; some tools may simply be overwhelmed in the market by Oracle&#8217;s tools or other herding effects; some paradigms suck; and so on.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: antonio romero</title>
		<link>http://awads.net/wp/2010/06/10/7-golden-rules-that-make-you-a-better-programmer/comment-page-1/#comment-53599</link>
		<dc:creator>antonio romero</dc:creator>
		<pubDate>Wed, 16 Jun 2010 07:57:18 +0000</pubDate>
		<guid isPermaLink="false">http://awads.net/wp/?p=1682#comment-53599</guid>
		<description>&lt;p&gt;I&#039;d say &quot;avoid coding altogether&quot;-- or, at least, move to the most abstract/declarative/high-level language or tool you can and still be performant. Life is too short to wrestle with low-level details, unless there&#039;s a very good reason.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I&#8217;d say &#8220;avoid coding altogether&#8221;&#8211; or, at least, move to the most abstract/declarative/high-level language or tool you can and still be performant. Life is too short to wrestle with low-level details, unless there&#8217;s a very good reason.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Eddie Awad</title>
		<link>http://awads.net/wp/2010/06/10/7-golden-rules-that-make-you-a-better-programmer/comment-page-1/#comment-53597</link>
		<dc:creator>Eddie Awad</dc:creator>
		<pubDate>Mon, 14 Jun 2010 23:30:19 +0000</pubDate>
		<guid isPermaLink="false">http://awads.net/wp/?p=1682#comment-53597</guid>
		<description>&lt;p&gt;All good ones Joel. By &quot;avoid coding in PL/SQL&quot; I am guessing you mean: If you can do it in SQL avoid coding it in PL/SQL. Cheers!&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>All good ones Joel. By &#8220;avoid coding in PL/SQL&#8221; I am guessing you mean: If you can do it in SQL avoid coding it in PL/SQL. Cheers!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: joel garry</title>
		<link>http://awads.net/wp/2010/06/10/7-golden-rules-that-make-you-a-better-programmer/comment-page-1/#comment-53596</link>
		<dc:creator>joel garry</dc:creator>
		<pubDate>Mon, 14 Jun 2010 20:59:00 +0000</pubDate>
		<guid isPermaLink="false">http://awads.net/wp/?p=1682#comment-53596</guid>
		<description>&lt;p&gt;As much as possible, avoid coding in PL/SQL.&lt;/p&gt;

&lt;p&gt;Never lose sight of the goal of the design.&lt;/p&gt;

&lt;p&gt;It&#039;s difficult to get paid to program if you get fired.&lt;/p&gt;

&lt;p&gt;Sometimes the dumb way is the better way.&lt;/p&gt;

&lt;p&gt;It is extremely rare to have a system in isolation.  Deal with it.&lt;/p&gt;

&lt;p&gt;Don&#039;t fall for marketing fluff.&lt;/p&gt;

&lt;p&gt;Use the level of bleeding-edginess appropriate for the business.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>As much as possible, avoid coding in PL/SQL.</p>

<p>Never lose sight of the goal of the design.</p>

<p>It&#8217;s difficult to get paid to program if you get fired.</p>

<p>Sometimes the dumb way is the better way.</p>

<p>It is extremely rare to have a system in isolation.  Deal with it.</p>

<p>Don&#8217;t fall for marketing fluff.</p>

<p>Use the level of bleeding-edginess appropriate for the business.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Eddie Awad</title>
		<link>http://awads.net/wp/2010/06/10/7-golden-rules-that-make-you-a-better-programmer/comment-page-1/#comment-53595</link>
		<dc:creator>Eddie Awad</dc:creator>
		<pubDate>Fri, 11 Jun 2010 16:39:06 +0000</pubDate>
		<guid isPermaLink="false">http://awads.net/wp/?p=1682#comment-53595</guid>
		<description>&lt;p&gt;Agreed. So golden rule #9: Understand the business process.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Agreed. So golden rule #9: Understand the business process.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Philip Papadopoulos</title>
		<link>http://awads.net/wp/2010/06/10/7-golden-rules-that-make-you-a-better-programmer/comment-page-1/#comment-53594</link>
		<dc:creator>Philip Papadopoulos</dc:creator>
		<pubDate>Fri, 11 Jun 2010 15:49:40 +0000</pubDate>
		<guid isPermaLink="false">http://awads.net/wp/?p=1682#comment-53594</guid>
		<description>&lt;p&gt;In addition to understanding the data, a good programmer needs to understand the users, the process, and the business.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>In addition to understanding the data, a good programmer needs to understand the users, the process, and the business.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Single-Point-of-Definition by Example &#171; Jeff Kemp on Oracle</title>
		<link>http://awads.net/wp/2010/06/10/7-golden-rules-that-make-you-a-better-programmer/comment-page-1/#comment-53593</link>
		<dc:creator>Single-Point-of-Definition by Example &#171; Jeff Kemp on Oracle</dc:creator>
		<pubDate>Fri, 11 Jun 2010 05:42:07 +0000</pubDate>
		<guid isPermaLink="false">http://awads.net/wp/?p=1682#comment-53593</guid>
		<description>&lt;p&gt;[...] 2010   Steven Feuerstein lists seven excellent &#8220;Golden Rules&#8221; in his presentation (via Eddie Awad) and says &#8220;Don&#8217;t repeat anything. Aim for a Single Point of Definition for every [...]&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>[...] 2010   Steven Feuerstein lists seven excellent &#8220;Golden Rules&#8221; in his presentation (via Eddie Awad) and says &#8220;Don&#8217;t repeat anything. Aim for a Single Point of Definition for every [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Eddie Awad</title>
		<link>http://awads.net/wp/2010/06/10/7-golden-rules-that-make-you-a-better-programmer/comment-page-1/#comment-53591</link>
		<dc:creator>Eddie Awad</dc:creator>
		<pubDate>Thu, 10 Jun 2010 23:52:27 +0000</pubDate>
		<guid isPermaLink="false">http://awads.net/wp/?p=1682#comment-53591</guid>
		<description>&lt;p&gt;Excellent points! Thanks for the clarification Jaime.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Excellent points! Thanks for the clarification Jaime.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jaime Metcher</title>
		<link>http://awads.net/wp/2010/06/10/7-golden-rules-that-make-you-a-better-programmer/comment-page-1/#comment-53590</link>
		<dc:creator>Jaime Metcher</dc:creator>
		<pubDate>Thu, 10 Jun 2010 23:46:35 +0000</pubDate>
		<guid isPermaLink="false">http://awads.net/wp/?p=1682#comment-53590</guid>
		<description>&lt;p&gt;Hey Eddie,&lt;/p&gt;

&lt;p&gt;The direct contradiction is that you if you want to reuse something you have to expose it. The price of reuse is lower encapsulation and higher coupling.  In Steven&#039;s example the tradeoff is a no-brainer, but if we&#039;re going to extrapolate a general rule out of that we need to be aware that this is a careful balancing act.  Sounds a bit pedantic, but I have seen many systems fall into this trap.&lt;/p&gt;

&lt;p&gt;For example, hard-coding the value of pi all over the place is a bit silly.  Putting it into a constant in a header file is much better.  But having our financials system hit a web service API on our LMS application to retrieve its value for pi is even sillier than hard-coding.  So we&#039;re better off accepting a bit of repetition and just defining our own pi.&lt;/p&gt;

&lt;p&gt;So, yes, these are excellent rules, but as is so often the case, their truth is not a simple truth.&lt;/p&gt;

&lt;p&gt;And yes, I totally endorse your rule #8.  It never ceases to amaze me how many talented application developers go to pieces when confronted with a simple ETL problem.  PL/SQL guys are no doubt much more in the groove, but general app developers need to be much more comfortable with data.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Hey Eddie,</p>

<p>The direct contradiction is that you if you want to reuse something you have to expose it. The price of reuse is lower encapsulation and higher coupling.  In Steven&#8217;s example the tradeoff is a no-brainer, but if we&#8217;re going to extrapolate a general rule out of that we need to be aware that this is a careful balancing act.  Sounds a bit pedantic, but I have seen many systems fall into this trap.</p>

<p>For example, hard-coding the value of pi all over the place is a bit silly.  Putting it into a constant in a header file is much better.  But having our financials system hit a web service API on our LMS application to retrieve its value for pi is even sillier than hard-coding.  So we&#8217;re better off accepting a bit of repetition and just defining our own pi.</p>

<p>So, yes, these are excellent rules, but as is so often the case, their truth is not a simple truth.</p>

<p>And yes, I totally endorse your rule #8.  It never ceases to amaze me how many talented application developers go to pieces when confronted with a simple ETL problem.  PL/SQL guys are no doubt much more in the groove, but general app developers need to be much more comfortable with data.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Eddie Awad</title>
		<link>http://awads.net/wp/2010/06/10/7-golden-rules-that-make-you-a-better-programmer/comment-page-1/#comment-53589</link>
		<dc:creator>Eddie Awad</dc:creator>
		<pubDate>Thu, 10 Jun 2010 23:05:42 +0000</pubDate>
		<guid isPermaLink="false">http://awads.net/wp/?p=1682#comment-53589</guid>
		<description>&lt;p&gt;Jaime, I cannot see how #1 and #2 are directly contradictory based on the explanation in Steven&#039;s presentation.&lt;/p&gt;

&lt;p&gt;Oracle PL/SQL programmers must like data, otherwise maybe they should switch to some other programming language that is not &lt;i&gt;data&lt;/i&gt;base centric.&lt;/p&gt;

&lt;p&gt;On the other hand, I see your point that as programmers we are more interested in coding rather than data.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Jaime, I cannot see how #1 and #2 are directly contradictory based on the explanation in Steven&#8217;s presentation.</p>

<p>Oracle PL/SQL programmers must like data, otherwise maybe they should switch to some other programming language that is not <i>data</i>base centric.</p>

<p>On the other hand, I see your point that as programmers we are more interested in coding rather than data.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

