Object-Disoriented Programming
shamusyoung.com
shamusyoung.com
The article covers a bunch of stumbling blocks that are external to the language, but there are at least as many in the language itself.
It wasn't deliberate of course, but a million little decisions and unadressed problems in the language ended up conspiring to create a miserable experience when assembling systems from libraries. This may not have been a very big problem 20 years ago - I suspect the current culture of many small libraries as building blocks didn't really exist then - but today it's a show stopper.
I feel your pain, my friend.