The way that some pragmatic short-term implementation choices end up being defended by many as the long term "right approach™" is one of the least attractive things about open source.
Conversation
One of the more extreme examples of this is the choice of using a 1:1 connection:process model for postgres.
In the university days that was a short-term thing, because there was no cross-platform thread library yet (pthreads were about to be standardized).
4
2
11
Whenever the topic is discussed now there's a lot of "increases robustness" style arguments about why it's the right choice. While there's a small bit of that, it's quite minimal - if one process exits unexpectedly we *still* crash/restart the whole postgres instance.
1
5
There's plenty of pragmatic reasons to not switch postgres to threading (bigger bang for the buck working on other things, the inevitably of new bugs in introduced in a switch, expertise, ...). But arguing that it's the architecturally right choice in a green field is ludicrous.
4
1
15
Replying to
Do people still argue that, though? Sounds like something somebody might say in ~2014. I think that the way we approach these things (the technical culture) is better now, for a variety of reasons.
1
2

