<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>The Joy of Hack &#187; Perl</title>
	<atom:link href="http://www.aijazansari.com/tag/perl/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.aijazansari.com</link>
	<description>For people who like to make things</description>
	<lastBuildDate>Tue, 20 Jul 2010 13:20:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Why Should I Use CPAN?</title>
		<link>http://www.aijazansari.com/2010/02/13/why-should-i-use-cpan/</link>
		<comments>http://www.aijazansari.com/2010/02/13/why-should-i-use-cpan/#comments</comments>
		<pubDate>Sun, 14 Feb 2010 01:01:08 +0000</pubDate>
		<dc:creator>Aijaz Ansari</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[CPAN]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[TaskForest]]></category>
		<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://www.aijazansari.com/?p=296</guid>
		<description><![CDATA[Why should a program depend on so many external modules when it could implement what it needs itself?]]></description>
			<content:encoded><![CDATA[<p>I came across some comments made about an open source program that I had written in perl.  The user was complaining about how he couldn&#8217;t get it to install.  The reason was that the program relies on other modules from the archive of open source perl software known as <a href="http://www.cpan.org/">CPAN (Comprehensive Perl Archive Network)</a>, and one of them failed to install.</p>
<p>This got me thinking about the benefits of using third-party libraries in our own code.  Why should a program depend on so many external modules when it could implement what it needs itself?</p>
<p>The answer, in one word, is &#8220;Testing.&#8221;  A well-written piece of software isn&#8217;t considered complete if it doesn&#8217;t have well-documented tests that exercise every part of the program.</p>
<p>There are many common tasks that most programs perform &#8211; such as reading configuration food, performing date arithmetic and writing to log files.  Every popular language has third-party libraries that perform these tasks correctly and reliably.  If I were to try to duplicate them, it would almost certainly result in inferior code; the mature libraries have had the benefits of extensive testing as well as enhancements and fixes of bugs reported by users.  Using third-party software allows me to focus on my program and what makes it unique.</p>
<div id="attachment_297" class="wp-caption alignnone" style="width: 449px"><a rel="attachment wp-att-297" href="http://www.aijazansari.com/2010/02/13/why-should-i-use-cpan/camel/"><img class="size-medium wp-image-297" title="Persuading the Camel" src="http://www.aijazansari.com/wp-content/uploads/2010/02/camel-439x293.jpg" alt="Getting the Camel to Do What You Want" width="439" height="293" /></a><p class="wp-caption-text">Perl can be a little stubborn, sometimes.</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.aijazansari.com/2010/02/13/why-should-i-use-cpan/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
