4 ms·
When a programmer says "I want visual programming" I think it's often one of those situations where 1) the asker has correctly identified a pain point, but 2) t
by paulhodge 6y ago
When a programmer says "I want visual programming" I think it's often one of those situations where 1) the asker has correctly identified a pain point, but 2) the thing they are asking for isn't necessarily the right way to do it.
Instead of a box-and-lines diagram, I think the stuff that people really want is:
- Structured editing. Valid change operations are obvious (maybe listed in a menu). No invalid states.
- Cross-cutting connections are explicitly displayed (with lines or arrows or etc) instead of being implicit.
- UI does a better job of highlighting just the relevant information and hiding everything else.
- Overall more simplicity. As in, I think some people imagine that their thousand-lines-of-code project could be fully represented as a few boxes and lines with labels. There's some unrealistic expectations tied up in this area. But simplicity is still a good goal.
Those are all good goals and there's different approaches to solve them. A lot of those asks can be solved by keeping the text document interface and adding enough cleverness on top of that (like EVE / LightTable). And there's other visual systems other than boxes-and-lines. People just need to think outside the box. (ha ha, sorry)
- ken 6y agoBut why? In every case other than compilers, when we say we want these types of features, we never mean "let's stick with plain text, like the previous generation did, and not even consider a different type of solution".
- ilaksh 6y agoVisual programming doesn't just mean boxes and lines. It could mean anything other than plain text.
- DonHopkins 6y agoThat's right. It has to do with the dimensionality and topology of the language syntax, not just how it looks. C++ is not a visual programming language, no matter how much you colorize and pretty-print and fold it, because it's represented as a one-dimensional stream of characters, one after the other. Excel is a visual programming language (and one of the most widely used programming languages in the world of any kind, visual or not), because it's represented as a two-dimensional grid of numbers, expressions, strings, relative and absolute two-dimensional references, and it also (though no not necessarily for the definition of a VPL) supports all kinds of graphical attributes, colored text and background, fonts, text styles, formatting, boxes and lines, freezing and grouping and outlining rows and columns, embedded graphs and graphics, etc.
- zubairq 6y agoI agree with this. I think people don't mind text being there, as even all so called Visual Languages have text in their boxes. People want to understand "what" their program does in a more clear way, and Structured editing, lines or arrows, highlighting just the relevant information, and more simplicity do just that.
- dkersten 6y agoI disagree. I use boxes and lines all the time, on paper, when programming. I think in boxes and lines. I briefly wrote some Max/MSP visual code some years ago and I found that I no longer needed to do it on paper, because thinking directly in Max was enough.