Most programmers know about the KISS paradigm: Keep it simple, stupid. Meaning that you should favor simple solutions over complex ones. Have you ever heard of the ASS paradigm? I would translate it to “Avoid stupid simplicity”. Sometimes, programmers legitimate too simple constructs with the KISS paradigm – because maybe they don’t know better.
You can find ASS wherever you ask yourself if a piece of software is as modular and flexible as the producers promised it to be.
In fact, KISS and ASS are two sides of a coin. Software developers with little experience tend to do simple things overly complex because they love to demonstrate how intelligent they are. On the other hand they do not understand all the implications of what they are doing. They chose overly simple solutions because they lack the overall view, especially when it comes to interoperability.
In both cases, it’s a matter of experience, with experience comes abstraction and pattern-oriented programming – or call it “smart ASS” programming 🙂 “KISS or ASS” stands for a steady learning process of applied simplicity and thus a better understanding of programming itself.