4 ms·
I don't like talking about "complexity" any more because while almost everyone agrees it is "bad", people have radically different ideas of what it means. "Comp
by tikhonj 1y ago
I don't like talking about "complexity" any more because while almost everyone agrees it is "bad", people have radically different ideas of what it means. "Complexity" in software conflates several distinct concepts:
• plain poor design
• complexity in operation rather than design (or technology)
• inescapable real-world complexity
• lots of moving pieces and details, straining working memory
• abstract or novel concepts that are hard to learn up-front, but easy longer-term
Some of these are practically opposites! At the pareto frontier of good design, there is a pretty fundamental trade-off between having more abstract concepts that are harder to learn up-front, and exposing more details that make systems hard to work with on an ongoing basis. People just call both of these "complexity"! These are two concepts that absolutely should not be conflated.
I've seen lots of other patterns that are misleadingly described as "complex". For example, some of the most effective software I've seen has been situated software[1]; that is, software built for, and largely in a specific social context. Think seemingly messy code that is incestuously coupled to a single person's or team's workflow. This software might actually be perfectly simple in context, but it's going to seem painfully baroque to anybody outside that context.
[1]: https://gwern.net/doc/technology/2004-03-30-shirky-situatedsoftware.html https://gwern.net/doc/technology/2004-03-30-shirky-situateds...
Given all I've seen, I've come to the conclusion that generic exhortations about "complexity" are actively harmful. If you're going to write a universally applicable rant, just write about how bad design is bad and good design is good! At least that's something that people will disagree with—I've met far more people who insist there is no such thing as "good" or "bad" design than people who insist that complexity is actually better than simplicity.
- burnt-resistor 1y agoTalking ability "complexity" is about as useful as talking about "government" in hivemind, abstract terms that have little meaning or purpose except to justify attitudes or decisions.