Profile photo for Tikhon Jelvis

Backwards compatibility, short-term thinking and the cult of "worse is better".

I want to do things well, but there's a lot of pressure to do things quickly and familiarly instead. Sometimes it's justified, but it feels like the current programming/business culture has swung way too far in that direction.

It makes sense, I suppose, psychologically. People seem far more concerned about big up-front costs than small persistent ones. A tiny drag on productivity can have a far larger absolute impact than a major cost up-front but doesn't feel as bad. If anything, it makes people feel busy and productive.

And so, instead of solving interesting or fundamental problems, I end up spending months hacking something ugly together on top of absolutely hideous eldritch protocols like IMAP which were designed—poorly—to deal with the specific concerns of the particular engineers who made up the relevant committee almost 30 years ago. Are those trade-offs relevant any more? Ha ha ha. Ha.

Then, instead of fixing this (because getting people to adopt new things is hard), companies just silently stopped supporting parts and added layers of their own. Now we have a protocol with the same poor, obsolete design at its core but lacking even the minor grace of being meaningfully standardized.

Not that it ever was meaningfully standardized: the actual RFCs are a far cry from the sort of clear, unambiguous formalism I would like! They're written in an ambiguous natural language akin to legalese, with all the clarity that implies. More importantly, formalizing the standard completely would have forced them to radically simplify it instead of baking in every arbitrary idea and feature they could invent.

The logic I was implementing? It could be described in a screenful of pseudocode. Which bloated to pages and pages and pages of real code, dealing with all this cruft. Held together mostly with hope.

It makes me glad I don't know a thing about civil engineering because I'd be afraid to walk through the streets otherwise.

Of course, I also totally sympathize with the people who do this. I make the same sorts of designs myself. There's just so much pressure for it, and it's easier to hack something together than put any real thought or design into it. But the fact that I do this myself, despite being deeply troubled by the trend, just makes it worse.

Pretty much the only thing I don't sympathize with is the idea that this is a good thing or good engineering.

Still, it is fun to rant about.

View 100+ other answers to this question
About · Careers · Privacy · Terms · Contact · Languages · Your Ad Choices · Press ·
© Quora, Inc. 2025