Zoram wrote:I just don't get why the need to poke fun at the old ugly code, which actually worked.
I suppose the best way to put it in simple terms is "just because it works for a while with small volumes of users doesn't mean it'll work all the time, without babysitting, with large volumes of users".
The other thing is that it's hard to build on a shaky foundation. Badly engineered software that works can't easily be extended.
Worse, badly engineered software often is very "tangled". If you change one part, you end up affecting something completely unrelated for not-obvious reasons.
A long-term goal we've been working towards is "untangling". We want to be able to do cool new things, and we want it to fix bugs. In order to do that, we need a stable foundation. When I started, it was almost impossible to make even minor changes to one part of the system without something that should be completely unrelated catching fire for no good reason. That makes it rather hard to do anything.
Unfortunately, given our lack of resources, it's quite difficult to do this without some of those "unexpected changes" leaking through testing.