<?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: A small example of the hidden dangers of dynamically typed programming languages</title>
	<atom:link href="http://pinderkent.blogsavy.com/archives/157/feed/" rel="self" type="application/rss+xml" />
	<link>http://pinderkent.blogsavy.com/archives/157/</link>
	<description>Archive from the trenches of the IT World Blog.</description>
	<lastBuildDate>Mon, 15 Nov 2010 03:47:19 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.3</generator>
	<item>
		<title>By: Tom</title>
		<link>http://pinderkent.blogsavy.com/archives/157/comment-page-1/#comment-42</link>
		<dc:creator>Tom</dc:creator>
		<pubDate>Wed, 10 Jun 2009 12:28:10 +0000</pubDate>
		<guid isPermaLink="false">http://pinderkent.blogsavy.com/?p=24#comment-42</guid>
		<description>I think it&#039;s certainly true that static typing can catch some errors much quicker than those errors would be found in a dynamically typed language, and that&#039;s a perk. However, in my experience, if you are using a dynamically typed language but you have really good unit tests then type errors are usually the first kind of errors that your unit tests find.

Also, even in a statically typed language if you don&#039;t have good unit tests (or you haven&#039;t  done very thorough manual testing) then the likelihood is that your code is broken. In your example above, if your testing hasn&#039;t executed a particular branch in your code then you don&#039;t really know whether that branch works or not. That&#039;s just as true in Haskell as it is in Python.

In response to the previous article, in my experience programmers in dynamic languages don&#039;t need to write additional tests to check types. Tests that check functionality are sufficient, after all if the program crashes with a type error then it isn&#039;t functioning correctly :)</description>
		<content:encoded><![CDATA[<p>I think it&#8217;s certainly true that static typing can catch some errors much quicker than those errors would be found in a dynamically typed language, and that&#8217;s a perk. However, in my experience, if you are using a dynamically typed language but you have really good unit tests then type errors are usually the first kind of errors that your unit tests find.</p>
<p>Also, even in a statically typed language if you don&#8217;t have good unit tests (or you haven&#8217;t  done very thorough manual testing) then the likelihood is that your code is broken. In your example above, if your testing hasn&#8217;t executed a particular branch in your code then you don&#8217;t really know whether that branch works or not. That&#8217;s just as true in Haskell as it is in Python.</p>
<p>In response to the previous article, in my experience programmers in dynamic languages don&#8217;t need to write additional tests to check types. Tests that check functionality are sufficient, after all if the program crashes with a type error then it isn&#8217;t functioning correctly <img src='http://pinderkent.blogsavy.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
</channel>
</rss>

