<?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: Software Conversions are Hell</title>
	<atom:link href="http://www.arnoldkling.com/blog/software-conversions-are-hell/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.arnoldkling.com/blog/software-conversions-are-hell/</link>
	<description>taking the most charitable view of those who disagree</description>
	<lastBuildDate>Mon, 21 Dec 2020 14:00:34 +0000</lastBuildDate>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.0.32</generator>
	<item>
		<title>By: Adrian Ratnapala</title>
		<link>http://www.arnoldkling.com/blog/software-conversions-are-hell/#comment-459800</link>
		<dc:creator><![CDATA[Adrian Ratnapala]]></dc:creator>
		<pubDate>Sat, 18 Jul 2015 17:55:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.arnoldkling.com/blog/?p=5447#comment-459800</guid>
		<description><![CDATA[Chesteron&#039;s fence is important because in real life (unlike in Chesterton&#039;s example) everything is so interconnected that you can&#039;t understand the results of removing the fence.   If such a situation arises in software, that means somone has already made a mistake.

Of course, it still happens all the time.   But that is a challenge to (carfully!) correct the poor modularisation and get rid of the fence.]]></description>
		<content:encoded><![CDATA[<p>Chesteron&#8217;s fence is important because in real life (unlike in Chesterton&#8217;s example) everything is so interconnected that you can&#8217;t understand the results of removing the fence.   If such a situation arises in software, that means somone has already made a mistake.</p>
<p>Of course, it still happens all the time.   But that is a challenge to (carfully!) correct the poor modularisation and get rid of the fence.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Adrian Ratnapala</title>
		<link>http://www.arnoldkling.com/blog/software-conversions-are-hell/#comment-459798</link>
		<dc:creator><![CDATA[Adrian Ratnapala]]></dc:creator>
		<pubDate>Sat, 18 Jul 2015 17:51:42 +0000</pubDate>
		<guid isPermaLink="false">http://www.arnoldkling.com/blog/?p=5447#comment-459798</guid>
		<description><![CDATA[Dude, isn&#039;t facebook nominally written PHP.  

I don&#039;t mean that as a defense of PHP, just as an example of what you can mange to do if you sink enough costs.]]></description>
		<content:encoded><![CDATA[<p>Dude, isn&#8217;t facebook nominally written PHP.  </p>
<p>I don&#8217;t mean that as a defense of PHP, just as an example of what you can mange to do if you sink enough costs.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Paul M. Jones</title>
		<link>http://www.arnoldkling.com/blog/software-conversions-are-hell/#comment-459732</link>
		<dc:creator><![CDATA[Paul M. Jones]]></dc:creator>
		<pubDate>Tue, 14 Jul 2015 21:08:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.arnoldkling.com/blog/?p=5447#comment-459732</guid>
		<description><![CDATA[&gt; Letting any software application go more than two years without a total rewrite will create maintenance headaches.

I have developed a bias toward refactoring applications in place, rather than rewriting them. I have found that programmers love the idea of rewriting as a default position, but that their (our! ;-) optimism masks the true enormity of effort required. As a business proposition, a rewrite is much more costly.  For example who will actually *do* the rewrite, and who will train them? Will they be new employees, or existing ones? If new, who will train them? If existing, who maintains the existing application? Indeed, what is to be done with the existing application while the rewrite takes place?

So while it may be true that a ground-up rewrite every couple of years reduces maintenance headaches, I assert it will be at the cost of increasing business-as-a-whole headaches. &quot;There are no solutions, only tradeoffs&quot; etc.

Again, in the interest of full disclosure, I have a book and an online course about refactoring applications, so my bias may be coloring my opinion. It is a hard-won bias, for good or ill.]]></description>
		<content:encoded><![CDATA[<p>&gt; Letting any software application go more than two years without a total rewrite will create maintenance headaches.</p>
<p>I have developed a bias toward refactoring applications in place, rather than rewriting them. I have found that programmers love the idea of rewriting as a default position, but that their (our! <img src="http://www.arnoldkling.com/blog/wp-includes/images/smilies/icon_wink.gif" alt=";-)" class="wp-smiley" /> optimism masks the true enormity of effort required. As a business proposition, a rewrite is much more costly.  For example who will actually *do* the rewrite, and who will train them? Will they be new employees, or existing ones? If new, who will train them? If existing, who maintains the existing application? Indeed, what is to be done with the existing application while the rewrite takes place?</p>
<p>So while it may be true that a ground-up rewrite every couple of years reduces maintenance headaches, I assert it will be at the cost of increasing business-as-a-whole headaches. &#8220;There are no solutions, only tradeoffs&#8221; etc.</p>
<p>Again, in the interest of full disclosure, I have a book and an online course about refactoring applications, so my bias may be coloring my opinion. It is a hard-won bias, for good or ill.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bob McGrew</title>
		<link>http://www.arnoldkling.com/blog/software-conversions-are-hell/#comment-459724</link>
		<dc:creator><![CDATA[Bob McGrew]]></dc:creator>
		<pubDate>Tue, 14 Jul 2015 14:14:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.arnoldkling.com/blog/?p=5447#comment-459724</guid>
		<description><![CDATA[I agree with the idea of constant rewrites for living software, but for larger programs (dozens of engineers), you need to do the rewrites of one modular section at a time.

Also, for larger teams, you are never doing the rewrite with the same team, so it&#039;s easy to overestimate how much better you will do the next time.  The mostly new team understands some of what the software does, but is also unfamiliar with a lot.]]></description>
		<content:encoded><![CDATA[<p>I agree with the idea of constant rewrites for living software, but for larger programs (dozens of engineers), you need to do the rewrites of one modular section at a time.</p>
<p>Also, for larger teams, you are never doing the rewrite with the same team, so it&#8217;s easy to overestimate how much better you will do the next time.  The mostly new team understands some of what the software does, but is also unfamiliar with a lot.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Oliver Sherouse</title>
		<link>http://www.arnoldkling.com/blog/software-conversions-are-hell/#comment-459716</link>
		<dc:creator><![CDATA[Oliver Sherouse]]></dc:creator>
		<pubDate>Tue, 14 Jul 2015 02:14:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.arnoldkling.com/blog/?p=5447#comment-459716</guid>
		<description><![CDATA[&quot;When you are maintaining code and you are constantly saying, &#039;I don’t know why that’s there, but I am afraid to touch it,&#039; watch out.

If we were discussing politics, I would refer you to Chesterton&#039;s Fence (http://www.chesterton.org/taking-a-fence-down/). That&#039;s the intersection I find interesting: is that the same mental pattern, or not? Is it more appropriate in one case than the other, and why?]]></description>
		<content:encoded><![CDATA[<p>&#8220;When you are maintaining code and you are constantly saying, &#8216;I don’t know why that’s there, but I am afraid to touch it,&#8217; watch out.</p>
<p>If we were discussing politics, I would refer you to Chesterton&#8217;s Fence (<a href="http://www.chesterton.org/taking-a-fence-down/" rel="nofollow">http://www.chesterton.org/taking-a-fence-down/</a>). That&#8217;s the intersection I find interesting: is that the same mental pattern, or not? Is it more appropriate in one case than the other, and why?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: William Newman</title>
		<link>http://www.arnoldkling.com/blog/software-conversions-are-hell/#comment-459710</link>
		<dc:creator><![CDATA[William Newman]]></dc:creator>
		<pubDate>Mon, 13 Jul 2015 23:24:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.arnoldkling.com/blog/?p=5447#comment-459710</guid>
		<description><![CDATA[&quot;Letting any software application go more than two years without a total rewrite will create maintenance headaches.&quot;

Eek. Granting for the sake of argument that all software applications need to be rewritten periodically, I think some of them would need the period pushed out to considerably more years than that, in some cases to more than a decade. Look at a reasonably capable renderer like povray, luxrender, or mitsuba. Or, for better-known examples, look at various optimizing compilers, or TeX, or emacs. Many of them are showing their age, and might well have benefited from rewrites every 5-15 years, but I don&#039;t think it&#039;s really feasible to rewrite them every 2 years, and I doubt it would be helpful.]]></description>
		<content:encoded><![CDATA[<p>&#8220;Letting any software application go more than two years without a total rewrite will create maintenance headaches.&#8221;</p>
<p>Eek. Granting for the sake of argument that all software applications need to be rewritten periodically, I think some of them would need the period pushed out to considerably more years than that, in some cases to more than a decade. Look at a reasonably capable renderer like povray, luxrender, or mitsuba. Or, for better-known examples, look at various optimizing compilers, or TeX, or emacs. Many of them are showing their age, and might well have benefited from rewrites every 5-15 years, but I don&#8217;t think it&#8217;s really feasible to rewrite them every 2 years, and I doubt it would be helpful.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: aretae</title>
		<link>http://www.arnoldkling.com/blog/software-conversions-are-hell/#comment-459709</link>
		<dc:creator><![CDATA[aretae]]></dc:creator>
		<pubDate>Mon, 13 Jul 2015 22:54:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.arnoldkling.com/blog/?p=5447#comment-459709</guid>
		<description><![CDATA[Arnold,

Your rewrite from scratch position is in the foundational document of software process:  The 1970 Royce paper that defines the waterfall software process suggests that the ONLY way to do a waterfall project well is to do the full requirements, analysis, design, code, etc. approach, then throw away the result, and start over now that you have enough information to do something intelligent.   

This is the single largest overlooked claim in software.]]></description>
		<content:encoded><![CDATA[<p>Arnold,</p>
<p>Your rewrite from scratch position is in the foundational document of software process:  The 1970 Royce paper that defines the waterfall software process suggests that the ONLY way to do a waterfall project well is to do the full requirements, analysis, design, code, etc. approach, then throw away the result, and start over now that you have enough information to do something intelligent.   </p>
<p>This is the single largest overlooked claim in software.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dan Meyer</title>
		<link>http://www.arnoldkling.com/blog/software-conversions-are-hell/#comment-459707</link>
		<dc:creator><![CDATA[Dan Meyer]]></dc:creator>
		<pubDate>Mon, 13 Jul 2015 20:50:17 +0000</pubDate>
		<guid isPermaLink="false">http://www.arnoldkling.com/blog/?p=5447#comment-459707</guid>
		<description><![CDATA[I&#039;m curious if Joel has updated his view - the original article looks to be from 2000. Testing and tools (to make rewriting/refactoring safer) have probably come a long way since then?

My data point:

At [large software company where I work], we&#039;re rewriting/migrating stuff all the time; the joke is that every service is either deprecated or not-yet-ready.]]></description>
		<content:encoded><![CDATA[<p>I&#8217;m curious if Joel has updated his view &#8211; the original article looks to be from 2000. Testing and tools (to make rewriting/refactoring safer) have probably come a long way since then?</p>
<p>My data point:</p>
<p>At [large software company where I work], we&#8217;re rewriting/migrating stuff all the time; the joke is that every service is either deprecated or not-yet-ready.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Arnold Kling</title>
		<link>http://www.arnoldkling.com/blog/software-conversions-are-hell/#comment-459702</link>
		<dc:creator><![CDATA[Arnold Kling]]></dc:creator>
		<pubDate>Mon, 13 Jul 2015 19:13:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.arnoldkling.com/blog/?p=5447#comment-459702</guid>
		<description><![CDATA[I have often agreed with Joel in the past, but on this one I disagree.  The issue concerns software patches.  In Joel&#039;s view, they are solutions that have stood the test of time.  In my view, they are land mines waiting for the next maintenance programmer to step on.  When you are maintaining code and you are constantly saying, &quot;I don&#039;t know why that&#039;s there, but I am afraid to touch it,&quot; watch out.]]></description>
		<content:encoded><![CDATA[<p>I have often agreed with Joel in the past, but on this one I disagree.  The issue concerns software patches.  In Joel&#8217;s view, they are solutions that have stood the test of time.  In my view, they are land mines waiting for the next maintenance programmer to step on.  When you are maintaining code and you are constantly saying, &#8220;I don&#8217;t know why that&#8217;s there, but I am afraid to touch it,&#8221; watch out.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ron Kok</title>
		<link>http://www.arnoldkling.com/blog/software-conversions-are-hell/#comment-459701</link>
		<dc:creator><![CDATA[Ron Kok]]></dc:creator>
		<pubDate>Mon, 13 Jul 2015 17:53:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.arnoldkling.com/blog/?p=5447#comment-459701</guid>
		<description><![CDATA[Joel Spolsky agrees with your point about accumulated corner cases. He believes that re-writing code from scratch is the single worst strategic mistake that any software company can make.  
 
http://joelonsoftware.com/articles/fog0000000069.html]]></description>
		<content:encoded><![CDATA[<p>Joel Spolsky agrees with your point about accumulated corner cases. He believes that re-writing code from scratch is the single worst strategic mistake that any software company can make.  </p>
<p><a href="http://joelonsoftware.com/articles/fog0000000069.html" rel="nofollow">http://joelonsoftware.com/articles/fog0000000069.html</a></p>
]]></content:encoded>
	</item>
</channel>
</rss>
