<?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>Alice and Bob in Cryptoland &#187; wxpython</title>
	<atom:link href="http://alicebob.cryptoland.net/tag/wxpython/feed/" rel="self" type="application/rss+xml" />
	<link>http://alicebob.cryptoland.net</link>
	<description></description>
	<lastBuildDate>Mon, 14 Feb 2011 13:29:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Why I rewrote Quivi from scratch</title>
		<link>http://alicebob.cryptoland.net/why-i-rewrote-quivi-from-scratch/</link>
		<comments>http://alicebob.cryptoland.net/why-i-rewrote-quivi-from-scratch/#comments</comments>
		<pubDate>Sun, 21 Sep 2008 02:31:39 +0000</pubDate>
		<dc:creator>Conrado</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[quivi]]></category>
		<category><![CDATA[wxpython]]></category>

		<guid isPermaLink="false">http://alicebob.cryptoland.net/?p=35</guid>
		<description><![CDATA[Joel Spolsky, popular software engineering, said in this blog: (&#8230;) They [Netscape] did it by making the single worst strategic mistake that any software company can make: They decided to rewrite the code from scratch. I agree, mostly. Many projects market that they&#8217;ve been &#8220;rewritten from scratch&#8221; as if it was something marvelous, and most [...]]]></description>
			<content:encoded><![CDATA[<p>Joel Spolsky, popular software engineering, <a href="http://www.joelonsoftware.com/articles/fog0000000069.html">said</a> in this <a href="http://www.joelonsoftware.com/">blog</a>:</p>
<blockquote><p>(&#8230;) They [Netscape] did it by making the single worst strategic mistake that any software company can make:</p>
<p>They decided to rewrite the code from scratch.</p></blockquote>
<p>I agree, mostly. Many projects market that they&#8217;ve been &#8220;rewritten from scratch&#8221; as if it was something marvelous, and most of time, it&#8217;s just a sign that the new version probably has more bugs than the previous. But, wait, I just rewrote <a href="http://quivi.sourceforge.net/">Quivi</a> (a image viewer and comic / manga reader) from scratch! Well, why?</p>
<p>Well, I thought I really had to justify this. So here are the reasons:</p>
<ul>
<li>It is a small project. Rewriting it certainly isn&#8217;t as hard as rewriting a browser!</li>
<li>I couldn&#8217;t stand C++ anymore (the programming language I used before). Of course, this isn&#8217;t C++ fault <em>per se</em>. It has its uses &mdash; the right tool for the right job, and so on. But to write an desktop application? It&#8217;s overkill. If you manage to pull it of, hey, kudos to you. But I had no motivation to work on it anymore.</li>
<li>I love Python (the programming language I use now), and of course, I&#8217;m <a href="http://xkcd.com/353/">not the only one</a>. Programming is <strong>fun</strong> in Python, so much that had the motivation to rewrite Quivi from scratch in the first place! And of course, it will be much more easier for me to keep working on Quivi.</li>
<li>I could change GUI libraries. <a href="http://smartwin.sourceforge.net/">SmartWin</a> is a nice library, and uses templates in very interesting ways; when programming Quivi I ended up involved with its development too. But it has its bugs, and <em>because</em> it uses templates extensively, it&#8217;s awful <strong>slow</strong> to compile an application that uses it. I&#8217;ve changed to <a href="http://wxpython.org/">wxPython</a>, which is a very mature GUI library &#8211; and cross platform to boot.</li>
</ul>
<p>Of course, there are some downsides with the change. The whole software package is much bigger due to the dependencies (the installer jumped from 900K to 5MB!). And the program is a little bit slower, mainly when starting up, and uses more memory (9MB to 30MB with no images loaded). But I think it was a good enough trade-off.</p>
<p>Rewriting from scratch must be considered carefully, and in this case, I think it was a good idea. Quivi is a hobby project, and I guess the main point of it is to have fun writing it, and to make users happy. I hope I can do both with this new version (which will be released soon).</p>
]]></content:encoded>
			<wfw:commentRss>http://alicebob.cryptoland.net/why-i-rewrote-quivi-from-scratch/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

