<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Talk Like A Duck: Tag robustness</title>
    <link>http://talklikeaduck.denhaven2.com/articles/tag/robustness</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>In Ruby, it's not the dog, it's the tricks!</description>
    <item>
      <title>Die Hard?</title>
      <description>&lt;p&gt;At the last meeting of the Agile &lt;span class="caps"&gt;RTP&lt;/span&gt; group, I won Michael T. Nygard&amp;#8217;s book &lt;a href="http://www.amazon.com/gp/product/0978739213?ie=UTF8&amp;#38;tag=denhaven2com-20&amp;#38;linkCode=as2&amp;#38;camp=1789&amp;#38;creative=9325&amp;#38;creativeASIN=0978739213"&gt;Release It!&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=denhaven2com-20&amp;#38;l=as2&amp;#38;o=1&amp;#38;a=0978739213" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /&gt; which I&amp;#8217;m reading as a background task. This morning I ran across this:&lt;/p&gt;
&lt;blockquote&gt;Interpreted languages such as Java and Ruby almost never crash. Sure they get application errors, but it&amp;#8217;s relatively rare to see the interpreter or virtual machine crash. I still remember when a rogue pointer in C could reduce the whole machine to a navel-gazing heap.&lt;/blockquote&gt;
&lt;p&gt;I remember &amp;#8220;back in the day&amp;#8221; when there were endless arguments between the C++ and Smalltalk advocates. The C++ folks would often quote Bjarne Strroustrup&amp;#8217;s fear of flying in an airplane whose flight control system was written in Smalltalk, and threw a &amp;#8220;message not understood&amp;#8221; exception. &lt;/p&gt;
&lt;p&gt;Those of us in the Smalltalk camp found this amusing, since the alternative was a system crash caused by an invalidpointer.&lt;/p&gt;
&lt;p&gt;Now maybe Nygard framing rogue pointers in C as a memory means that the problem has been solved, but I seem to recall having seen it recently.&lt;/p&gt;
&lt;h2&gt;It&amp;#8217;s Not Just The Language Stupid&lt;/h2&gt;
&lt;iframe align = "right", src="http://rcm.amazon.com/e/cm?t=denhaven2com-20&amp;#38;o=1&amp;#38;p=8&amp;#38;l=as1&amp;#38;asins=0978739213&amp;#38;fc1=E50707&amp;#38;IS2=1&amp;#38;lt1=_blank&amp;#38;lc1=E50707&amp;#38;bc1=000000&amp;#38;bg1=FFFFFF&amp;#38;npa=1&amp;#38;f=ifr" style="width:120px;height:240px;" scrolling="no" marginright="0" marginheight="0" marginleft="8" frameborder="0"&gt;&lt;/iframe&gt;
&lt;p&gt;One point here is that pet-features such as strong vs. dynamic typing or garbage collection vs. allegedly more performant&lt;a name="#fn_ref1" href="#fn1"&gt;[1]&lt;/a&gt; manual memory management aren&amp;#8217;t panaceas. They &lt;strong&gt;can&lt;/strong&gt; have a major effect on aspects such as easo of development, or tweaking out the last bit of performance, sometimes in non-intuitive ways.&lt;/p&gt;
&lt;p&gt;Making robust software requires more than just choosing a language, it requires craftmanship, adherence to best practices for the chosen language(s) and technologies, and a realistic understanding of the challenges at hand.&lt;/p&gt;
&lt;h2&gt;Release It!&lt;/h2&gt;
&lt;p&gt;And that&amp;#8217;s where we come back Nygard&amp;#8217;s book. Although I assume that most of my readers are Rubyists, and Nygard is a Java guru, there is much of value here for anyone concerned with producing robust software that can stand up to the real world.&lt;/p&gt;
&lt;p&gt;Based on what I&amp;#8217;ve read sofar, and skimming the rest, I can recommend it.  If you&amp;#8217;re interested you can buy it directly from the Pragmatic Programmers, or via the &lt;a href="http://www.amazon.com/gp/product/0978739213?ie=UTF8&amp;#38;tag=denhaven2com-20&amp;#38;linkCode=as2&amp;#38;camp=1789&amp;#38;creative=9325&amp;#38;creativeASIN=0978739213"&gt; amazon.com&lt;/a&gt; link.  The later would help feed the duckdogs who run this site, and lower my distraction from their gowling stomachs.&lt;/p&gt;
&lt;/hr&gt;
&lt;p&gt;&lt;a name="fn1 href="#fn_ref1"&gt;[1] &lt;/a&gt;The &amp;#8220;allegedly&amp;#8221; will no doubt be explained in further posts here.&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Tue, 12 Jun 2007 11:24:00 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:5691c3b7-ccb5-486e-8b19-0d5dab46aeb5</guid>
      <author>Rick DeNatale</author>
      <link>http://talklikeaduck.denhaven2.com/articles/2007/06/12/die-hard</link>
      <category>ruby</category>
      <category>war_stories</category>
      <category>smalltalk</category>
      <category>C</category>
      <category>books</category>
      <category>robustness</category>
    </item>
  </channel>
</rss>
