Hacker News new | ask | show | jobs
by RNeff 1874 days ago
UML failed because there was no way to track changes; no way to 'diff' two versions of a design. And no way to display the 'diff' effectively. Tracking source code changes is the basis of Software Engineering. Git is one major example. What changed, when, who, and why.

With a graphical language, the 'diff' has to be able to distinguish between a visual change like moving objects around and semantic change of adding / deleting objects or links. It must know the difference between 'what it looks like' and 'what it means'.