August 7, 2000
12:26 PM Subscribe
Ok, here comes the firestorm.
Joel on Software has some very good things to say -- though, like most user-interface-design mavens, I think about 50% of the time that he hasn't comprehended what the problem really is... but in
this piece, he's wrong.
posted by baylink (17 comments total)
« Older Jesse Jackson Slams US Drug War... | The Background image is a litt... Newer »
Sorry, Joel; it does.
There comes a point where you no longer gain anything by patching over bugs. Certainly there's lots of institutional knowledge and memory tied up in those bug fixes -- but keeping unmaintainable, inextensible code to preserve it is not the solution. Using a revision control system that allows commentary on the problem solved and the theory behind the solution is the answer.
What? You didn't do that the first time? Bummer.
Especially at today's cusp, the quality of the programmer support tools available is a couple orders of magnitude better than it was when your code was written... and since you're in trouble already or you wouldn't be thinking about a rewrite, you need all the help you can get.
Plus, you have all that accumulated knowledge extending your understand of the problem domain to take advantage of, so when you write your design document (you *did* make one of those, right?), it will more closely match reality.
As far as *I* am concerned, unless you *do* make changes not too less extensive than a total rewrite, you aren't even entitled to go from 1.7 to 2.0.
x.y.z
patches go in z. new features (or clusters thereof) go in y. x doesn't change unless the program changes so massively that it's effectively a new program -- major new pieces of problem domain or a rewrite are really the only acceptable reasons, to me.
This used to be a standard. Version numbers are almost useless these days.
I used to be able to say "except on free software"... until sendmail 8 shipped. <sigh>
Nope, Joel; I'm sorry. I've *done* both. And the rewrites are cheaper, faster, and more reliable.
posted by baylink at 12:36 PM on August 7, 2000