I would say it's "Information hiding" and "building everything as layers of abstractions".
Abstractions are good, but too many abstraction layers are often a disaster.
Sometimes you want certain implementation details to be hidden or ignored, but these cases are rare, and the most common case is that you want the implementation to be a "white box" that you can peek into and change.