Carl Sassenrath, CTO REBOL Technologies, writes that simple is:
Both 1 and 2 are not great definitions, there’s a degree of subjectivity, I think, in this.
Clear abstraction: smart, well-drawn layers of "knowledge focus" that allow hiding of details. Clean expression: meaningful, concise but not cryptic, representation and communication of concepts.
Unfortunately, the second requirement of simple is not stressed at all and therein lies the rub. In fact, I could claim that cleanliness of expression is completely ignored in most modern anything, whether that be a core OS subsystem or bill of law placed before congress.
Yet, when I browse these massive code-bases what I clearly see is a complete naivety of the engineers and/or programmers who wrote it. I'm not talking about their understanding of the knowledge domain, I'm talking about how they've mostly ignored tapping into the realm of expression as part of their solution.