Live data from Hacker News

Visual Programming Is Unbelievable (2015)

outsystems.com

1–10 of 107 posts

Re: Visual Programming Is Unbelievable (2015)

#3
That post has no clue about the shortcomings, which were true in the past but needn't be any longer. Programmers have been doing visual programming since the advent of the visual debugger that shows updated values during program execution, and they are requesting more and more of it with tools for Live Programming like jsfiddle or LightTable (for VP in classic languages) or new languages like Apparatus[1] or Eve[2].

We are in the middle of the Visual Programming renaissance, now that the hurdles that limited composability of visual programs have been theoretically solved in the last decade by Programming Languages researchers, and computers are finally powerful enough to move visual languages without slowing to a crawl.

Unfortunately, Visual Programming suffers the same curse as Artificial Intelligence: for every breakthrough that produces revolutionary new tools, it is no longer considered Visual Programming but merely "how the tools should work".

[1] http://aprt.us/

[2] http://eve-lang.com/

Re: Visual Programming Is Unbelievable (2015)

#4
'Visual Programming' failed (and continues to fail) simply because it is a lie; just because you surround my textual code with boxes and draw arrows showing the 'flow of execution' does not make it visual! This core misunderstanding is why all these 'visual' tools suck and don't help anyone do anything practical (read: practical = complex systems).

When I write code, for example a layout algorithm for a set of gui elements, I visually see the data in my head (the gui elements), then I run the algorithm and see the elements 'move' into position dependent upon their dock/anchor/margin properties (also taking into account previously docked elements positions, parent element resize delta, etc). This is the visual I need to see on screen! I need to see my real data being manipulated by my algorithms and moving from A to B. I expect with this kind of animation I could easily see when things go wrong naturally, seeing as visual processing happens with no conscious effort.

Instead visual programming thinks I want to see the textual properties of my objects in memory in fancy coloured boxes, which is not the case at all.

Re: Visual Programming Is Unbelievable (2015)

#6
The problem with visual programming is the same as those UML tools where you designed classes with boxes then filled in the code later. First of all it's quicker and easier to define with text than drawing. And second of all the detail is the important bit. You can't design the high level code in isolation and then fill in how it works. You need to build up the components from the details and see how the abstractions emerge. And that's not very visual/.

Re: Visual Programming Is Unbelievable (2015)

#8

Spreadsheets are visual programming languages, and they seem pretty popular, and have been for a while.

Low barrier of entry for high yield, thus their popularity. Though they really don't scale well, and you can end up with the stuff of nightmares.

Re: Visual Programming Is Unbelievable (2015)

#9
There is one place where visual programming is alive and well and has been for a long time. That's programming PLC (Programmable Logic Controllers). It's easy to forget about PLCs[1], but it's an old and large niche in large corporations that do a lot of industrial automation like assembly lines, (automobile) manufacturing, oil & gas...

Most PLC programming is done using Ladder Logic [2] and various visual tools tools for creating and editing Ladder Logic. Here's a screenshot of one such environment, RSLogix: https://i.ytimg.com/vi/4yEj065J1q4/maxresdefault.jpg

It's an interesting data point because A) it's a highly technical field where accuracy (and verification) matters B) almost everybody who does PLC programming spends all their time in a visual programming environment.

[1] https://en.wikipedia.org/wiki/Programmable_logic_controller

[2] https://en.wikipedia.org/wiki/Ladder_logic

Post reply on HN