4 ms·
Do the damn thing from the scratch and do it right, then replace the old steaming pile of junk with it This reminds me of the many attempts to rewrite n
by ido 15y ago
Do the damn thing from the scratch and do it right,
then replace the old steaming pile of junk with it
This reminds me of the many attempts to rewrite nethack in a higher level language, like ruby or python.
They all fail miserably, leaving nothing but a smoking crater and piles of code that is never to be used.
Turns out all those millions of lines of c code written over a period of 25 years actually do quite a lot.
- morsch 15y agoYes. Programmers (myself included) constantly want to rewrite form scratch: But this time, we're going to do it right! Unfortunately, often, you'll draw exaggerated conclusions from past failures and over-engineer things ("All problems in computer science can be solved by another level of indirection."). You might also end up creating new design problems, e.g. a bottleneck in an area that the old design just happened to avoid. And even if you do get everything right design-wise, you'll always end up creating new bugs along the way. (Obviously, none of this is a new insight, the pros and cons of rewrite from scratch have been discussed back and forth forever.)
- gbog 15y agoYes, this point of view is well known and well documented. But the opposite may have some weight too. I think I read somewhere that Google codebase had been rewritten from scratch. Maybe it was early enough, because I suppose rewriting it today would be painful. Are there any other successful rewrite from scratch stories? Maybe vim?
- robfig 15y agoGoogle doesn't "rewrite" things in the traditional sense.. they develop new versions of old systems when the old system has reached the limit (or is just grossly inefficient). The new systems generally are not at all architecturally similar. I don't think I've ever heard of a rewrite "because the code was messy" or anything other "it can't do X and we need X".