Why abstraction matters: Can your programming language do this? [2006]
joelonsoftware.com
joelonsoftware.com
In particular, badly named abstractions are worse than no abstractions at all. No abstractions means wading through piles and piles of details to see what's happening. Well named abstractions mean seeing the structure at a glance. Too much abstraction means not understanding what's happening.
But badly named abstractions are lie, misleading cons that waste time and effort.
</rant>