Complexity fills the space it's given
medium.com
medium.com
The article stops short of proposing a clear plan for how to handle the opposite problem, though: Entrenched monoliths. Once a class (or other abstraction) has grown for long enough (e.g. perhaps someone has read this article and is trying to avoid unnecessary complexity of code structure), it can become very difficult to break it up.
Very true. As a followup, I think it's worth pointing out that CLI applications in particular can cram a lot of functionality into very few LOC.
Last night, I read through the source code for `cat` (yes, that `cat`) and it was only about 800 lines of fairly breezy C: https://github.com/coreutils/coreutils/blob/master/src/cat.c
And a tiny CLI tool I use every day, several times a day, for learning Finnish, is about 200 lines of Python: https://github.com/hiAndrewQuinn/finstem
Jos tarvitset apua, niin heittää viesti.
As the article said, some times a complicated problem has a simple genial solution.
A huge spaghetti monolith is much better than a huge spaghetti collection of micro services.