<?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"
	>

<channel>
	<title>Software Entropy</title>
	<atom:link href="http://software-entropy.com/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>http://software-entropy.com/wordpress</link>
	<description>the process of designing, writing, and using software . . . and the disorder that results</description>
	<pubDate>Sun, 26 Oct 2008 20:32:03 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
	<language>en</language>
			<item>
		<title>Software Entropy</title>
		<link>http://software-entropy.com/wordpress/2008/10/19/software-entropy/</link>
		<comments>http://software-entropy.com/wordpress/2008/10/19/software-entropy/#comments</comments>
		<pubDate>Sun, 19 Oct 2008 20:09:45 +0000</pubDate>
		<dc:creator>Ross</dc:creator>
		
		<category><![CDATA[theory]]></category>

		<guid isPermaLink="false">http://software-entropy.com/wordpress/?p=4</guid>
		<description><![CDATA[The title of this blog comes from the fact that I believe software code strictly follows the second law of thermodynamics.   Here are a couple of the English-language formulations of that law (from the Wikipedia article):
- In a system, a process that occurs will tend to increase the total entropy of the universe.
- It is [...]]]></description>
			<content:encoded><![CDATA[<p>The title of this blog comes from the fact that I believe software code strictly follows the <a href="http://en.wikipedia.org/wiki/Second_law_of_thermodynamics">second law of thermodynamics</a>.   Here are a couple of the English-language formulations of that law (from the Wikipedia article):</p>
<blockquote><p>- In a system, a process that occurs will tend to increase the total entropy of the universe.<br />
- It is impossible to convert heat completely into work.<br />
- The entropy of the universe tends to a maximum.</p></blockquote>
<p>The idea of &#8220;software entropy,&#8221; or that disorder slowly creeps into evolving software code, isn&#8217;t new; it&#8217;s certainly not my invention.</p>
<p>It just strikes me that not only is there such a thing as &#8220;software entropy&#8221; or &#8220;code entropy,&#8221; but that such chaos in code is in fact inevitable, much as the second law states that entropy is inevitably increasing in an isolated system.  (And yes, I&#8217;m aware that entropy != disorder in a meaningful sense in chemistry or physics; I&#8217;m using the word in its popular sense.)</p>
<p>I think there are plenty of people in the software industry who can share stories of increasing disorder in a system&#8217;s design and code, and I think that much of that disorder occurs despite the best efforts of many bright people to prevent it.  There are even <a href="http://en.wikipedia.org/wiki/Agile_programming">theories and processes</a> which attempt to embrace and manage that disorder, which says something about how prevalent it is in the industry.</p>
<p>But I personally think &#8220;software entropy&#8221; is more than something we need to guard against or manage.</p>
<p>One implication the second law, as I understand it, is that when energy or heat moves from a hotter region or object to a cooler one, the net change in entropy of the system is always an increase.  And when work is applied to a system to move heat or energy from a colder region to a hotter one to increase the heat of the hotter one, energy is always &#8220;wasted&#8221; and there is always a net increase of entropy in the system.</p>
<p>I think this is true of software code.  We can attempt, through rigorous standards and processes, application of our most senior staff, careful design, etc. (in other words with a great deal of &#8220;work&#8221; expended) to reduce the disorder in one application or one region of an application (for example via a rewrite or redesign, or through an extensive refactoring process), this effort always results in a net increase in disorder in other regions of the system.  Either our standards cause unintended problems or consequences, or we&#8217;ve pulled senior staff from other projects and those projects suffer, or we stop paying attention to the code of application A to focus on reviewing application B and the code of application A gets worse.</p>
<p>So I&#8217;m going to writing about software design and construction, and &#8220;software entropy&#8221; is one of the things I&#8217;ll be considering on the way.</p>
<p>I&#8217;ll leave with the following quotation (also from the WP article) that sometimes seems apt for the software industry:</p>
<blockquote><p>The tendency for entropy to increase in isolated systems is expressed in the second law of thermodynamics - perhaps the most pessimistic and amoral formulation in all human thought.</p>
<p>- Greg Hill and Kerry Thornley, <em>Principia Discordia</em> (1965)</p></blockquote>
<p>[edit: I corrected a few typos and errors]</p>
]]></content:encoded>
			<wfw:commentRss>http://software-entropy.com/wordpress/2008/10/19/software-entropy/feed/</wfw:commentRss>
		</item>
		<item>
		<title>About this Blog</title>
		<link>http://software-entropy.com/wordpress/2008/10/19/about-this-blog/</link>
		<comments>http://software-entropy.com/wordpress/2008/10/19/about-this-blog/#comments</comments>
		<pubDate>Sun, 19 Oct 2008 20:04:54 +0000</pubDate>
		<dc:creator>Ross</dc:creator>
		
		<category><![CDATA[theory]]></category>

		<category><![CDATA[this blog]]></category>

		<guid isPermaLink="false">http://software-entropy.com/wordpress/?p=2</guid>
		<description><![CDATA[I’ve been designing and writing software for various IT departments since 1997, and I’ve spent a lot of that time wondering why the IT industry does what it does, and why the process of designing, writing, and using software seems to be so problematic.
I intend for this blog to be about that process, and about [...]]]></description>
			<content:encoded><![CDATA[<p>I’ve been designing and writing software for various IT departments since 1997, and I’ve spent a lot of that time wondering why the IT industry does what it does, and why the process of designing, writing, and using software seems to be so problematic.</p>
<p>I intend for this blog to be about that process, and about the inevitable disorder that seems to result.</p>
]]></content:encoded>
			<wfw:commentRss>http://software-entropy.com/wordpress/2008/10/19/about-this-blog/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
