Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> Completely rewriting things is one of the worst decisions an intermediate engineer makes. That's what killed Netscape.

This is commonly trotted out to discourage re-writes, but how does that square with another piece of common advice: "build one to throw away" ?

I'm genuinely curious, and I'm not trying to pick on you specifically. There are just many different situations where one or the other makes sense, so I don't think it's so cut and dried.



It's not cut and dried, but a good guideline is this:

If you've written a program, but it doesn't work yet, and you've realized you made major architectural mistakes or whatever, feel free to rewrite from scratch.

If you've written a program and it's been in real use for a while, solving real problems for a lot of happy users, that means it embodies a lot of knowledge that will be difficult to re-create from scratch; in that case, think very carefully before embarking on a rewrite, and look hard for a way forward that will preserve that knowledge.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: