Premature generalization is the root of all evil. (With apologies to Don Knuth)
The original formulation may have been a real problem at the time it was made, but in our time running into ugly code due to misguided optimization seems pretty rare.
Code that attempts - and almost always fails - to be generic, and instead ends up overcomplicated and awkward to use, on the other hand...
It's not just 3rd party code either, in my own teams it's not rare I find myself arguing for KISS and YAGNI. Sometimes I prevail, sometimes the premature generalizers do.
The original formulation may have been a real problem at the time it was made, but in our time running into ugly code due to misguided optimization seems pretty rare. Code that attempts - and almost always fails - to be generic, and instead ends up overcomplicated and awkward to use, on the other hand...
It's not just 3rd party code either, in my own teams it's not rare I find myself arguing for KISS and YAGNI. Sometimes I prevail, sometimes the premature generalizers do.