Ask HN: Do you still use UML?
151–160 of 188 posts
Re: Ask HN: Do you still use UML?
#152Earlier quoted context omitted.
My guess is the FP (especially Lisp) crowd.
The FP crowd is so vocal. Reformed math geeks who are trying to evangelize the world of programming to do things one way; their way.
I presume you mean the Haskell crowd? The Lisp crowd is more about expression rather than "correctness" and rigidity. FP doesn't really have a formal definition.
> trying to evangelize the world of programming to do things one way; their way.
I think the world of computing is shifting towards a lot of async work, and if you've ever written large threaded apps, having too much state becomes the greatest of burdens. Clojure, for example, minimizes state and uses Software Transactional Memory to manage mutability.
Re: Ask HN: Do you still use UML?
#153But just for higher concept sketching and most definitely not for generating code. I tried that, 12 years ago with Rational Rose. Boy did it suck.
Re: Ask HN: Do you still use UML?
#154I absolutely hate UML and regard the associated tools as time swallowing abominations and the main advocates that I encountered as the worst kind of snake oil salespeople. Of course, other people's experience may differ - but I largely thought it was a big con.
I think there's lots of potential for abuse/time wasting with UML. But consider the fact that when you're writing code, you're often focusing on two distinct concepts: implementation and design. When designing, you are implicitly asking yourself: "what problem am I trying to solve, what data structures should I use to represent the elements of this problem, how should they relate to one another, what should this syst…
I'm not against diagrams or discussion of design, far from it, I just think that UML is a terrible notation - it makes people think they are working with blueprints rather than sketches.
Re: Ask HN: Do you still use UML?
#155C1 ---> C2
mean that C1 inherits from C2 or that C2 inherits from C1? Does:
C1 ---* C2
[Note: the * is supposed to be a filled-in black diamond, but HN apparently doesn't allow unicode characters in comments.]
mean that C1 contains instances of C2 or that C2 contains instances of C1? What would it mean if the diamond were hollow instead of filled? What is the difference between a solid and a dashed line in a class diagram? A sequence diagram?
The only way you can possibly know the answers to these questions is if you have mastered an enormous amount of trivia. And then what have you actually gained? How is a class diagram better than simply writing out as text, "Class C1 inherits from C2, C3 and C4, and contains single instances of C6, C6 a set of C7s, and an ordered list of C8s?"
In >90% of cases, the information conveyed by UML can be much more easily and effectively communicated by plain text.
Re: Ask HN: Do you still use UML?
#156-------------
"And there is an explicitly political idea that drove OOP to its peak in the 1990s: the idea of outsourcing. The idea of outsourcing software development rested on some assumptions about how software development should work, in particular the idea of the “genius” architect, backed by an army of morons who act as secretaries, taking dictation. OOP was the software equivalent of a trend that became common in manufacturing during the 1980s: design should stay in the USA while actual production should be sent to a 3rd World country. Working with UML diagrams, writing code could be reduced to mere grunt work, whereas the design of software could be handled by visionaries, possessed with epic imaginations, who could specify an OO hierarchy which could then be sent to India for a vast team to actually type out. And the teams in India (or Vietnam, or Romania, etc) were never trusted, they were assumed to be idiots, and so, for a moment, there was a strong market demand for a language that treated programmers like idiots, and so the stage was set for the emergence of Java. "
http://www.smashcompany.com/technology/object-oriented-progr...
Re: Ask HN: Do you still use UML?
#157IMO UML adds negative value because, with only a very few exceptions, its semantics are carried by shapes that have no mnemonic relation to the concepts they are intended to communicate. What is the difference between a dashed line and a thin vertical box in a sequence diagram? A hollow vs a filled diamond in a class diagram? Does: C1 ---> C2 mean that C1 inherits from C2 or that C2 inherits from C1? Does: C1 ---* C2…
I agree with much of your criticism of UML, but there is significant value in having a visual representation of class interactions. Your text takes longer to parse and understand than a simple diagram would be. For scenarios with numerous classes, the diagram becomes far easier than a text description.
Re: Ask HN: Do you still use UML?
#158IMO UML adds negative value because, with only a very few exceptions, its semantics are carried by shapes that have no mnemonic relation to the concepts they are intended to communicate. What is the difference between a dashed line and a thin vertical box in a sequence diagram? A hollow vs a filled diamond in a class diagram? Does: C1 ---> C2 mean that C1 inherits from C2 or that C2 inherits from C1? Does: C1 ---* C2…
> How is a class diagram better than simply writing out as text, "Class C1 inherits from C2, C3 and C4, and contains single instances of C6, C6 a set of C7s, and an ordered list of C8s?" I agree with much of your criticism of UML, but there is significant value in having a visual representation of class interactions. Your text takes longer to parse and understand than a simple diagram would be. For scenarios with num…
If the text is hyperlinked it can be every bit as easy to follow as a diagram. In fact, it can be easier if things are really complicated because it allows you to focus your attention more easily just on the parts that matter to you at any given time.
Re: Ask HN: Do you still use UML?
#159UML can be a great communication tool in specific situations but when it becomes a religion your organization will suffer. I'm older than most here, drank the cool-aid that predicted code generation and round tripping but spit it back up before the poison had a chance to set in. A bonus comment for the youngin's ... When you hear that some new system will allow "the common man" to write his own software without devel…
> some new system will allow "the common man" to write his own software without developers "The common man" often seems to think that mastering the syntax of a programming language is the hard bit, and that replacing textual syntax with some pretty graphics will magically make software easy to build. Of course, the real challenge is accurately specifying what you're trying to accomplish, and exactly how you want it t…
Re: Ask HN: Do you still use UML?
#160Earlier quoted context omitted.
> How is a class diagram better than simply writing out as text, "Class C1 inherits from C2, C3 and C4, and contains single instances of C6, C6 a set of C7s, and an ordered list of C8s?" I agree with much of your criticism of UML, but there is significant value in having a visual representation of class interactions. Your text takes longer to parse and understand than a simple diagram would be. For scenarios with num…
> the diagram becomes far easier than a text description If the text is hyperlinked it can be every bit as easy to follow as a diagram. In fact, it can be easier if things are really complicated because it allows you to focus your attention more easily just on the parts that matter to you at any given time.
If class diagrams are useless then so are bar graphs and scatter plots. You can just list out the data points and everyone can read them.