The experts say
“I found a large number of programs perform poorly because of the language’s tendency to hide `what is going on’ with the misguided intention of `not bothering the programmer with details’” [Wirth, 1974]
“An interface should capture the minimum essentials of an abstraction.
“When an interface undertakes to do too much, the result is a large, slow complicated implementation.”[Lampson, 1984]