> How could I criticize the method for not helping software developers or managers, when it does not care about software development at all, but only about developing a market for consultants and trainers?
That summarizes much of UML. Sequence diagrams are useful, though.
When it comes to ERDs I find UML notation unhelpful. I find the IE (information Engineering) notation that uses clear symbols for both cardinality (simple line or crow foot) and optionality (O or I) a lot more usable.
OOP looked really neat at the times when computers had one CPU, very little RAM, and no easy in-process concurrency.
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.
UML, at the time, was exceedingly useful if you just used the whiteboard version of it. Being able to clearly communicate with another developer by drawing a class diagram and having each line, box, and cardinality mean something precise was very helpful.
UML as a programming language was awful. UML as a specification language was often even worse.
There is some connection to object-oriented programming and desktop GUI paradigms, that I remember were written about in computer magazines at the time, but is never mentioned now. Like, if you want to delete this document, you drag it to the trashcan! Object oriented!
Am I right or do I remember it wrong?
Not clear to me how that's object-oriented. You're not sending a "put yourself in the trashcan" message to the document, or sending a "pull the document to yourself" message to the trashcan. If anything, you're invoking the environment's "drag" function with two arguments, "document" and "trashcan"; that's object-oriented only insofar as the environment contains every function and can be sent messages to invoke them.
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.
UML as a programming language was awful. UML as a specification language was often even worse.
Deleted Comment