Rewrites Considered Harmful?
ngunton writes "When is "good enough" enough? I wrote this article to take a philosophical look at the tendency for software developers to rewrite new versions of popular tools and standards from scratch rather than work on the existing codebase. This introduces new bugs and abandons all the small fixes and tweaks that made the original version work so well. It also often introduces incompatibilities that break a sometimes huge existing userbase. Examples include IPv4 vs IPv6, Apache, Perl, Embperl, Netscape/Mozilla, HTML and Windows. "
This introduces new bugs and abandons all the small fixes and tweaks that made the original version work so well. It also often introduces incompatibilities that break a sometimes huge existing userbase.
Microsoft has created an entire, successful, multibillion-dollar-a-year-profiting business model off of this!!
Sheesh.
do() || do_not();
In light of the preceding article, I propose that we completely rewrite slashdot! In BASIC! This will provide unsurpassed slowness and crashing, making the world better for all!
- - - - - - -
Orppf urp mf y.ppcxn. yflcbi otcnnov C am yflcbi yr n.apb Ekrpatv (Dvorak -> Qwerty)
Did you eat lots of paint chips as a kid?
Microsoft: Ok, Windows XP and 2003 have a full rewrite of the TCP/IP stack and security system.
Slashdoter: Why did Microsoft rewrite the core OS? They just introduced more bugs and lost the stability and security fixes from older versions of the OS?
"Have you ever thought about just turning off the TV, sitting down with your kids, and hitting them?"
Ok, this dude uses netscape 4.x and thinks its fast. next article please.
Ouch! There goes my karma!
This oughtta be good. (puts on asbestos-lined pants)
It was too messy and unmaintainable. I'll wait until the rewrite comes out to fix all the grammer and spelling bugs.
I do't kow what you're talkig about. I spelled damed correctly.
"Have you ever thought about just turning off the TV, sitting down with your kids, and hitting them?"
Enlightenment DR17.
Stating on Slashdot that I like cheese since 1997.
And what does that make IE? The antichrist?
Hate me!
The Problem: Rewrite Mania
...
Waaaaaaa!!
Case 1: IPv4 vs IPv6
Waaaaaaa!
Case 2: Apache 1.x vs Apache 2.x
Waaaaaaaaaa!
Case 3: Perl 5.x vs Perl 6
Waaaaaaaaa! Waaaaaaaaaaa!
Case 4: Embperl 1.x vs Embperl 2
Waaaaa!
Case 5: Netscape 4.x vs Mozilla
Waaaaaaaaa!
Case 6: HTML 4 vs XHTML + CSS + XML + XSL + XQuery + XPath + XLink +
XML is hard! My HTML for Dummies book weighs too much! Waaaaaaa!
Case 7: Windows 2000 vs Windows XP vs Server 2003
Waaaaaaaa!
Conclusion: In Defense of "good enough" and simplicity
Waaaaa waaaaaaaaa!
"Considered Harmful" is Considered Harmful.
Here is my rewritten version of this article:
"Doh! I can't believe I just embarrassed myself in front of 1,000,000 geeks. I'll just go back in my hold now."
There, much better and it removes all the problems like Neil saying that Netscape 4.x is a good browser.
I can't say that I don't give a fuck. I've just run out of fuck to give.
I'm a programmer and I disagree. Oh wait...
"I think this line is mostly filler"
The story says, in part...
"Examples include IPv4 vs IPv6, Apache, Perl, Embperl, Netscape/Mozilla, HTML and Windows"
All props to IPv4 and all, but I don't think it stands a chance against all of those put together (even with Windows on their team).
RP
Okay, so most of the article consists of, "Here's software X. They re-wrote it, and now it's not as good or as accepted. Why'd they do that? They suck."
Hey, that's exaggerating. The article's more like, "Here's software X. They re-wrote it, and now it's not as good or as accepted. Why'd they do that? I'm not blaming anybody, because I know all this is done by volunteers who do a fantastic job. I'm just saying that the benefits aren't sufficiently obvious to make it overwhelmingly compelling. Bizarre!"
I used to think so. But I was forced by economics at my current employer to just keep on hacking. For years I predicted the imminent collapse of our system under the weight of a thousand hacks.
But it never collapsed. And the functionality and performance has been greatly increased. And we've added five more developers. And we're profitable.
And because the original design was decent, there have been no catastrophic failures, or impenetrable bugs.
Sure, we've rewritten many small parts of the system, but in a very iterative fashion. And there are some bits of old (ugly) code pushing four years now that still do their job just fine.
Maybe this only applies to web development in perl (small CGIs using simple function-oriented modules with SQL to interface to a DB). And maybe it only works for companies using technology as support (as opposed to the company being _about_ technology). But there it works and it works well.
Maybe here's the deal: we're always doing a "complete rewrite" -- it just takes us a decade and we do it a little bit at a time. But the point I think is that tearing out the guts usually causes more problems than it solves.
Cheers.
Notice how if you increment the letters in VMS you get WNT.
Well, it was professionally written, except for the use of phrases and words like "pain in the ass", "jackass", and "asshole".
There are 0x40000000 types of people: those who understand 32-bit IEEE 754 floating point, and those who don't.
Perl 6 is perhaps best thought of as a DIFFERENT LANGUAGE which will 'just happen' to be, in many places, very similar/identical to Perl 6.
Sort of how tea is a substance almost, but not completely, not unlike tea.