4 ms·
Why do people care about "visual programming"? The idea seems nice at first, but you always end up back at traditional programming (http://drakon-editor.source
by jpwagner 14y ago
Why do people care about "visual programming"?
The idea seems nice at first, but you always end up back at traditional programming (http://drakon-editor.sourceforge.net/python/python.html#classes http://drakon-editor.sourceforge.net/python/python.html#clas...). To think that this is for non-programmers is silly.
I guess also, if it aids readability, why not just generate the charts from code, rather than the other way around?
- DanI-S 14y agoPerhaps the idea that code can only be read and manipulated by an educated intellectual minority seemed a revoltingly bourgeoisie concept to those in charge at the time.
- jpwagner 14y agoyours is the answer to "why do people care about non-programmers controlling machines" not "why do people care about visual programming". how do you solve the issue you point out? isn't using symbols to represent something machine-readable what a programming language already is?
- makmanalp 14y agoI think the point is that programming languages fail even in that regard: Even if the syntax is simplistic and understanding is easy, writing code requires a deeper understanding both in terms of how to model things in code and how to conform to syntax ("Oh, I got 2 pages of unrelated errors because I forgot a semicolon"). Both problems don't exist when reading, but do exist when writing.
- DanI-S 14y agoSince the dawn of computing, we've seen great increases in programming productivity as we've ramped up our level of abstraction. I'd assume that visual programming is attractive as it appears to be the next rung on this ladder. It may turn out to be a dead end, but people still try. I'd argue that our next big jump in productivity is likely to come when we are able to have a conversation with an AI about the desired function of a program and have the AI write it for us. Whether visual programming will be a part of this conversation remains to be seen.
- Symmetry 14y agoThat seems extraordinarily unlikely, speech is var better at conveying abstraction than pictures (though pictures have a higher bandwidth). http://catb.org/~esr/writings/unix-koans/gui-programmer.html http://catb.org/~esr/writings/unix-koans/gui-programmer.html
- DanI-S 14y agoSpeech in conjunction with diagramming is more powerful than either alone. There's a reason most software companies' supply cupboards are stocked with dry-erase markers and notepads. I'd be disappointed if our hypothetical AI was unable to grok simple diagrams or generate its own. If a conversation with this entity can still be called programming, I can definitely see it having a visual element.
- gaius 14y agoNo we haven't. What do we really have now that we didn't 30 years ago? A web browser is just an IBM 3270 at the end of the day. The boost in productivity is an illusion hidden behind ever more elaborate bells and whistles. The boost in productivity will come when we stop reinventing the wheel every few years.
- gaius 14y agoThis is why computing has stagnated for 30 years http://programmers.stackexchange.com/q/58186/6219 http://programmers.stackexchange.com/q/58186/6219 Each new batch of programmers is so ignorant of the past that they spend all their time reinventing it (usually, badly) instead of making any real progress.
- quonn 14y agoIt won't happen. The essence of programming is having a vague description of a problem and figuring it out a way to solve it very, very precisely. This is just not a thing that can be done using AI. Any progress that has been made in AI is just the opposite: Put in a very precise question or description of the problem and you may get a vague answer. Heck, if, even two decades from now we have some form of AI that just barely understands _existing_ code so that it can have at least a simple discussion with the programmer, I would be very surprised.
- romaniv 14y agoMost advanced visual programming systems I'm familiar with can't be properly read or manupulated by anyone except even tinier minority of people who specialize on working with the particular system.
- DanI-S 14y agoThat certainly seems to be the case, but I'm not sure that it was the intention.
- yzhengyu 14y agoWell, having worked with various 4GLs that were meant to improve productivity and produce re-usable code, ones that are being used merely add more accidental complexity rather than reduce it. And a diagram (in such a 4GL) does not help when it has hundreds of decision nodes and the end-user (read: a human being) visual system can only deal with at most 10 nodes. It is also very amusing when the executives finally realize how unnecessarily complex their order processing chain is.
- run4yourlives 14y agoIt's the same reason you use a mouse even though 99% of the things you do on a computer involve a keyboard. People tend to be visual, especially when they are in unfamiliar territory - which everyone is in when they are learning. "Visual Programming" helps with learning, thus comprehension.
- jpwagner 14y ago"Visual Programming" helps with learning, thus comprehension. how do you know?
- run4yourlives 14y agoI suppose I should qualify that: Visual Programming gets you to a point where you can "use" the language faster. I appreciate this isn't the same as pure comprehension. My original sentence is a little off.
- WiseWeasel 14y agoFor one, a text-based programming language must be learned using separate documentation or instruction, as the possible commands are not obvious. In a visual programming environment, the available commands are discoverable within the development environment.
- jpwagner 14y agothe available commands are discoverable within the development environment only by greatly limiting the available commands. a turing machine would be easy to implement visually, wouldn't it.
- deleted 14y ago[deleted]
- majormajor 14y agoA visual environment for a text-based language can get you a long way. Intellisense makes learning a lot of things about a new language without any external documentation very practical.
- dimitar 14y agoLadder programming is visual and is very widely used in PLCs. Although some people dislike it a lot it is very nice for diagnostic reasons.
- gaius 14y agoIt's described as "2-dimensional" - I guess that means you set your calculation up as a spreadsheet, then it generates native code to run it at full speed.
- m_for_monkey 14y ago> Why do people care about "visual programming"? "Although the main purpose of DRAKON Editor is capturing and editing algorithmic knowledge, it can also be used to build programs." (http://drakon-editor.sourceforge.net/ http://drakon-editor.sourceforge.net/) > I guess also, if it aids readability, why not just generate the charts from code, rather than the other way around? Because it works like syntax highlighting. You don't ask "Why don't you write code black on white, and add colors later for reading aid?".