| I like to use SMBC's take[1] on the "Watchmaker Analogy" - complexity comes from, in order: (1) number of things interacting (2) complexity of interaction (3) complexity of thing So simplicity is then an inversion of that. You can "maximize simplicity" by: (1) minimizing the number of things (2) minimizing the complexity of interaction (3) minimizing the complexity of each thing This ends up reinventing many of things you find elsewhere (think SOLID; same-level-of-abstraction principle, etc) although I also generally find it's the first one - the most important one - that gets fucked up the most (one example: "type explosions", when you end up with just a bazillion different slightly different types). Also, on a broader level, there really do seem to be two kinds of systems: Engineered systems, which (notionally) attempt to minimize those things, and "evolved" systems, which somewhat maximize them - both economies and ecologies have (1) many different interacting things, (2) with complex interactions, and (3) which are themselves complex. You're right that it's an intuitive sense, but, I do think the right advice and perspectives can give you a leg up on learning and applying that sense. [1] https://www.smbc-comics.com/?id=2344 |
Having more things doesn't make systems more complex in itself if they can be combined differently as requirements change.