February 04, 2007
Programmers desire to rewrite because they know that after starting with a clean sheet of paper and building it all again, at the end they’ll understand the whole. Programmers write code to learn. Software has this double-edged sword where you can’t just wave your hands instead of implementing a particular function. It all has to be crystal. Programmers know this. They know when they’re done, they’ll have a complete understanding. It’s a noble desire.
I agree with a lot of what he’s saying. I’ve re-written a few of my own projects for different reasons, but a big part of it usually is just because I’ve forgotten my original intentions of how everything should fit together.