3 ms·
The 2006 paper "Out of the Tar Pit" also disagrees with Brooks' estimate of total accidental complexity, explaining their position in terms of {essential,accide
by Twisol 6y ago
The 2006 paper "Out of the Tar Pit" also disagrees with Brooks' estimate of total accidental complexity, explaining their position in terms of {essential,accidental} {state,control}. One of their arguments is that accidental (derived) state has a magnifying effect on complexity, so a first-order goal of any software architecture should be to reduce accidental state as far as possible -- and arguably, centralize the remaining essential state as much as possible.
https://github.com/papers-we-love/papers-we-love/blob/master/design/out-of-the-tar-pit.pdf https://github.com/papers-we-love/papers-we-love/blob/master...
It somewhat puts the old saying in another light: "There are two hard problems in computer science: cache invalidation and naming things." Cached state is, effectively, another name for derived state.
- ezekiel68 6y agoYou neglected to mention the third of the two hard problems: "off-by-one errors" :D