UML: The Positive Spin (1997)
archive.eiffel.com
archive.eiffel.com
That summarizes much of UML. Sequence diagrams are useful, though.
This is satire and not a genuine letter from the past by some disgruntled college student (to be honest, I wasn't sure until I saw the notice)
OOP made a few genuinely good things popular in the common software practice: modules, public vs private interface separation, the idea of interfaces. Other features, like inheritance, or encapsulated mutable state, proved to be more problematic, both in general, and in the modern computing environment in particular.
Then the trashcan inherits from a directory, making it able to have things dropped on it. But it overwrites the action taken from movement to deletion. That maps "nicely" onto the human mind.
> If anything, you're invoking the environment's "drag" function with two arguments, "document" and "trashcan";
A perfectly valid alternative description. But having a do-it-all environment with every function doesn't sound OOP to me.
UML as a programming language was awful. UML as a specification language was often even worse.