<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>OOP - There It Is - Da Basics</title>
    <link>http://www.vpsw.com/blogbaby/</link>
    <description>A Very Practical Blog</description>
    <language>en-us</language>
    <copyright>Dean Fiala</copyright>
    <lastBuildDate>Fri, 06 Jun 2008 00:59:09 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.1.8102.813</generator>
    <managingEditor>dfiala@vpsw.com</managingEditor>
    <webMaster>dfiala@vpsw.com</webMaster>
    <item>
      <trackback:ping>http://www.vpsw.com/blogbaby/Trackback.aspx?guid=3678a9bf-aeec-41a9-8041-e25671bd5fb5</trackback:ping>
      <pingback:server>http://www.vpsw.com/blogbaby/pingback.aspx</pingback:server>
      <pingback:target>http://www.vpsw.com/blogbaby/PermaLink,guid,3678a9bf-aeec-41a9-8041-e25671bd5fb5.aspx</pingback:target>
      <dc:creator>Dean</dc:creator>
      <wfw:comment>http://www.vpsw.com/blogbaby/CommentView,guid,3678a9bf-aeec-41a9-8041-e25671bd5fb5.aspx</wfw:comment>
      <wfw:commentRss>http://www.vpsw.com/blogbaby/SyndicationService.asmx/GetEntryCommentsRss?guid=3678a9bf-aeec-41a9-8041-e25671bd5fb5</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Every month or so, someone posts a question on one of the .NET forums I frequent asking
if such and such will work, or if you can do so and so. The post will detail the background
of the issue, including theoretical approaches, possible drawbacks, imaginary contingencies
and tangential concepts.  Invariably the poster wants to know the "proper
way" to code something, and yet 6 paragraphs later hasn't shown what he or she
has already attempted.
</p>
        <p>
Why?
</p>
        <p>
Because the poster <em>hasn't written any code yet</em>.  
</p>
        <p>
Philosophical development discussions can be fun. Reviewing fundamental design issues,
or exploring the possibilities of a new technology or entering a new problem space
beg for "what if" questions. It's good to have an idea where to go, a vague
notion how to get there and to find out how others attempted the journey.  
Those are fun questions to answer.
</p>
        <p>
Another excellent time to ask "what if" questions is when facing an irrevocable
upgrade or configuration change.  When a wrong step can wreak havoc it wise to
ask for advice. That's what a forum is for -- to get pointed in the right direction
or pushed back on course or to be told to hurry back to shore. 
</p>
        <p>
No, what makes a coding "what if" question a total waste of time and bandwidth
is when it asks how to write a relatively small amount of code. The post itself is
longer than the most convoluted possible solution. To put it programmatically...
</p>
        <blockquote>
          <p>
            <font face="Courier New" color="#0000ff">
              <strong>if(Post.Length &gt; Code_Needed_To_See_If_It_Works.Length) 
<br />
    WasteOfTimeAndBandwidth();</strong>
            </font>
          </p>
        </blockquote>
        <p>
In other words, if the poster had actually tried to code one of the carefully penned
theoretical approaches, he or she would have ended up typing a lot less and would
have discovered the solution without a trip to forum land.  
</p>
        <p>
Some examples (and I wish I were making these up):
</p>
        <ul>
          <li>
Is it possible to set SomeObject.SomeProperty = SomeValue? 
</li>
          <li>
Can I put this control inside this other control? 
</li>
          <li>
How long will SomeObject.SomeMethod() take to run? 
</li>
        </ul>
        <p>
Programming is a wonderfully empirical undertaking. With IDEs (Integrated Development
Environments such as Visual Studio) it is easy to create code and test it.  At
the level of of a function or even a web page or windows form, there is no need for
thought experiments or theoretical ponderings -- the code either does what it is supposed
to or it doesn't.  There is no need to write <em>about</em> it -- just write
it.  If it doesn't work, then you can post a question that is based on something
real.
</p>
        <p>
Unless you are doing something silly like working on a production system, the cost
for trying something out is minimal.  In the worst cases, bad code throws an
error or just doesn't work.  Things don't explode, no one dies.  With source
code/version control (which everyone should get into the habit of using), it is trivial
to roll back to a previous working version.  
</p>
        <p>
So please, for your sake and Pete's, try it first.  See what happens.  You'll
save some time and might be pleasantly surprised. 
</p>
        <img width="0" height="0" src="http://www.vpsw.com/blogbaby/aggbug.ashx?id=3678a9bf-aeec-41a9-8041-e25671bd5fb5" />
      </body>
      <title>For Pete's Sake -- Just Try It</title>
      <guid isPermaLink="false">http://www.vpsw.com/blogbaby/PermaLink,guid,3678a9bf-aeec-41a9-8041-e25671bd5fb5.aspx</guid>
      <link>http://www.vpsw.com/blogbaby/PermaLink,guid,3678a9bf-aeec-41a9-8041-e25671bd5fb5.aspx</link>
      <pubDate>Fri, 06 Jun 2008 00:59:09 GMT</pubDate>
      <description>&lt;p&gt;
Every month or so, someone posts a question on one of the .NET forums I frequent asking
if such and such will work, or if you can do so and so. The post will detail the background
of the issue, including theoretical approaches, possible drawbacks, imaginary contingencies
and tangential concepts.&amp;#160; Invariably the poster wants to know the &amp;quot;proper
way&amp;quot; to code something, and yet 6 paragraphs later hasn't shown what he or she
has already attempted.
&lt;/p&gt;
&lt;p&gt;
Why?
&lt;/p&gt;
&lt;p&gt;
Because the poster &lt;em&gt;hasn't written any code yet&lt;/em&gt;.&amp;#160; 
&lt;/p&gt;
&lt;p&gt;
Philosophical development discussions can be fun. Reviewing fundamental design issues,
or exploring the possibilities of a new technology or entering a new problem space
beg for &amp;quot;what if&amp;quot; questions. It's good to have an idea where to go, a vague
notion how to get there and to find out how others attempted the journey.&amp;#160;&amp;#160;
Those are fun questions to answer.
&lt;/p&gt;
&lt;p&gt;
Another excellent time to ask &amp;quot;what if&amp;quot; questions is when facing an irrevocable
upgrade or configuration change.&amp;#160; When a wrong step can wreak havoc it wise to
ask for advice. That's what a forum is for -- to get pointed in the right direction
or pushed back on course or to be told to hurry back to shore. 
&lt;/p&gt;
&lt;p&gt;
No, what makes a coding &amp;quot;what if&amp;quot; question a total waste of time and bandwidth
is when it asks how to write a relatively small amount of code. The post itself is
longer than the most convoluted possible solution. To put it programmatically...
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p&gt;
&lt;font face="Courier New" color="#0000ff"&gt;&lt;strong&gt;if(Post.Length &amp;gt; Code_Needed_To_See_If_It_Works.Length) 
&lt;br /&gt;
&amp;#160;&amp;#160;&amp;#160; WasteOfTimeAndBandwidth();&lt;/strong&gt;&lt;/font&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
In other words, if the poster had actually tried to code one of the carefully penned
theoretical approaches, he or she would have ended up typing a lot less and would
have discovered the solution without a trip to forum land.&amp;#160; 
&lt;/p&gt;
&lt;p&gt;
Some examples (and I wish I were making these up):
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Is it possible to set SomeObject.SomeProperty = SomeValue? 
&lt;/li&gt;
&lt;li&gt;
Can I put this control inside this other control? 
&lt;/li&gt;
&lt;li&gt;
How long will SomeObject.SomeMethod() take to run? 
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Programming is a wonderfully empirical undertaking. With IDEs (Integrated Development
Environments such as Visual Studio) it is easy to create code and test it.&amp;#160; At
the level of of a function or even a web page or windows form, there is no need for
thought experiments or theoretical ponderings -- the code either does what it is supposed
to or it doesn't.&amp;#160; There is no need to write &lt;em&gt;about&lt;/em&gt; it -- just write
it.&amp;#160; If it doesn't work, then you can post a question that is based on something
real.
&lt;/p&gt;
&lt;p&gt;
Unless you are doing something silly like working on a production system, the cost
for trying something out is minimal.&amp;#160; In the worst cases, bad code throws an
error or just doesn't work.&amp;#160; Things don't explode, no one dies.&amp;#160; With source
code/version control (which everyone should get into the habit of using), it is trivial
to roll back to a previous working version.&amp;#160; 
&lt;/p&gt;
&lt;p&gt;
So please, for your sake and Pete's, try it first.&amp;#160; See what happens.&amp;#160; You'll
save some time and might be pleasantly surprised. 
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.vpsw.com/blogbaby/aggbug.ashx?id=3678a9bf-aeec-41a9-8041-e25671bd5fb5" /&gt;</description>
      <comments>http://www.vpsw.com/blogbaby/CommentView,guid,3678a9bf-aeec-41a9-8041-e25671bd5fb5.aspx</comments>
      <category>Annoyances</category>
      <category>Da Basics</category>
    </item>
  </channel>
</rss>