3 ms·
Maybe I’m getting primed to be eaten by zombies by saying this, but I think UML was trying to do something valuable. A tool which could create visual diagrams
by didericis 5y ago
Maybe I’m getting primed to be eaten by zombies by saying this, but I think UML was trying to do something valuable.
A tool which could create visual diagrams for logic flow and abstraction would be amazing. After parsing a large project, many people create a mental map which feels quite close to some sort of visual diagram. If someone could figure out how to represent those models visually, I think it’d be a lot easier to identify good abstractions for a problem and its likely evolution vs bad abstractions for a problem and its likely evolution.
- bluGill 5y agoThe problem is keeping those diagrams correct. I've worked where the UML was the code, and it worked because the visual models were up to date. Every monday I'd print on poster sized paper the latest models to paste on my cube wall. They were good enough for the rest of the week, but by the next week there were different enough as to be worthless. I've never seen UML actually work anyplace else. Either the models are out of date, or they are only up to date because you force people to go back to maintain the models after the code is working. This latter of course fails, why would management want to pay someone do maintain models when not only is the code working (well at least partially) for the testers, but the person who is assigned to do it doesn't want to.
- kragen 5y agoWhat were the advantages and disadvantages of programming in UML rather than, for example, Java or Python? In https://news.ycombinator.com/item?id=26959307 https://news.ycombinator.com/item?id=26959307 I blasted it as "a fraud" because of clearly exaggerated claims made for its power that went far beyond anything available; how did its power compare in practice to other programming languages?
- bluGill 5y agoAnother Turing complete language. The one I used compiled to unreadable c++. It was easier to see the big picture because all the models were visible. However in the end it is all syntax.
- zozbot234 5y agoOne problem is that there are many such visualizations, each of which has its own advantages and disadvantages for specific purposes. Visual syntaxes also scale very badly with increasing complexity, so it's very unlikely that a "large project" could be usefully represented by a handful of diagrams. UML seemed to have very clear problems due to both of these issues.
- didericis 5y agoI think the fact that there’s no underlying physical object might be the bigger problem. Mechanical and electrical diagrams seem to scale quite well with complexity. They’ll get cluttered/you might need to break them into pieces, but they’re still intelligible and seem much easier to keep accurate and useful than most software diagrams.
- livre 5y agoThe problem wasn't the idea, a visual diagram for logic flow is a good idea but your IDE can do that from your code better than the over-engineered idea of UML. UML had another problem, it reversed the way programmers work. As a programmer you start with a rough sketch (hand drawn diagrams and/or some prototype code) and iterate through that along with the client until you have what they want. UML (at least the way it was taught in my university) assumed that the client knew exactly what he wanted and that as a developer you could get your system designed perfectly on a diagram before writing a single line of code. When you tried to translate that into code you realized that your design wasn't as good as you thought, you had to make changes and doing that required going through a lot of bureaucracy (and change requests) that only served to hinder your progress. The automatic code generation promised by Rational wasn't as good as promised, it was close to useless and their software and UML basically expected you to program in enterprise Java, trying to fit a less enterprise OO language there was pure pain and resulted in very messy designs.
- BlueTemplar 5y agoUML isn't taught that way any more. It's still mandatory in programming courses and waterfall(ish) programming projects, but it's also emphasized that iteration with clients is a good thing if you can do it, that the clients don't actually know that they want, that you're unlikely to get your software right the first time, and that 90% of software projects end up failing anyway.
- dublin 5y agoAnd it's not like this hasn't been tried with varying degrees of success prior to UML (IDEF/IDSS, IORL, even arguably arguably CORBA, etc.)- it just happened to get a lot more traction, and waste countless billions on worthless busywork. Objects sound like a good idea, and set the propeller-beanied programmer geeks (especially the academic ones who can't deal with the real world anyway) all aflutter, but really aren't worth the trouble in practice.
- lelanthran 5y ago> I think UML was trying to do something valuable. So? Doesn't mean that it was actually doing anything useful 99.99% of the time.
- didericis 5y agoThe claim that the method was not useful seemed a little too generic. Depends on what was meant by “method”, but I took that to mean a method of software development and communication that uses lots of abstract detailed visual diagrams. I don’t think that whole idea should be abandoned because UML had problems.