4 ms·
For many people it's easier to understand complex relationships when they're represented in visual form. However, to represent logic in visual form becomes quit
by zxcdw 14y ago
For many people it's easier to understand complex relationships when they're represented in visual form. However, to represent logic in visual form becomes quite damn painful because when the complexity grows, so does the visual area occupied. When you actually have cross-referencing of objects of type X which inherit from Y and have a is-a relationship with Z which is a friend of K it really, really becomes a one huge mess.
While I could imagine such a system being used for very trivial programming tasks by "non-programmers", I find it very utopistic to even imagine that something as complex as even a primitive compiler could be writ.. described in such form with ease. The actual hard part is not to code it out(as opposed to sketch it out visually) but to manage the complexity by designing it in such a way that it makes sense and works as intended.
I really don't see how visual programming would be helpful with the actual act of designing or even understanding a complex software system with different types, constructs, patterns and their permutations. Perhaps it's just lack of imagination, I sure hope so.
- andrewflnr 14y agoIt would have to be layered, like anything. You click on one node in the diagram, and it opens up to be another diagram with data flowing through it. It would be pretty hard to "describe" a primitive compiler in text too if you didn't have some form of subroutine. Also, you want to be able to hide certain relationships temporarily, just like in text you might fold a block of code, or simply ignore the friend declaration.
- bcoates 14y agoI've found plotting out call graphs and dependencies with GraphViz to be helpful in decoding and fixing spaghetti code, and as a big-picture documentation tool in general. GraphViz is a tool that converts a text format to images, not a pointy-clicky WYSIWYG thing, so I'm not sure how much of a defense of visual programming that is.