Live data from Hacker News

Visual Programming Is Unbelievable (2015)

outsystems.com

31–40 of 107 posts

Re: Visual Programming Is Unbelievable (2015)

#31
post #19

It is a very strange essay form to give multiple reasons why a thing has not worked very well, then end it with the conclusion that people just irrationally don't like it because your brain is just biased against it. I don't believe in it in the general case simply because I've never seen a general-purpose visual programming language work. Show me one and show me lots of people choosing it freely and I'll believe jus…

To add to this, I present to you screenshots of visual programming spaghetti code in all of it's glory [1]. [1] http://scriptsofanotherdimension.tumblr.com

Takes me back to my Max/MSP days.

Re: Visual Programming Is Unbelievable (2015)

#32
post #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 tool…

Another place where visual programming is popular is among music producers, with systems like Max/MSP[1] and PureData[2]. I dabbled in PureData a little, and while it seemed to be ok for simple things, I imagine that for anything even moderately complex, it would quickly become a nightmare. While visual programming paradigms seem like a nice thing at first glance, they are missing out on whole ecosystems of tools dev…

Also node-based visual compositing (eg. Nuke / Natron / Blender's compositor). It works very well there, although it does rely on people doing proper programming to create the nodes.

Re: Visual Programming Is Unbelievable (2015)

#33
Here is a comprehensive list of different visual programming languages.

http://blog.interfacevision.com/design/design-visual-progarm...

The issue isn't visual programming but rather that we haven't found many good cases to use it still.

I do think visual programming is going to have a bigger and bigger impact in things like robotics, space exploration etc where you need more tactile access to computation power.

It's kind of like with the idea of a 3d interface. It only make sense when the holistic whole rather than the details are important.

It makes no sense to create a 3d warehouse I can walk around when I could just do a search and a list.

But you wouldn't necessarily want to control a robot doing repairs on your spaceship by having to program it every time you wanted it to do something new.

Re: Visual Programming Is Unbelievable (2015)

#34

Earlier quoted context omitted.

Visual programming is also alive and well in device, instrument and robotic control, where accuracy and reliability is important. At the high end of the mission critical benevolent guardian mega robot spectrum, the Maeslantkering [1] is programmed in LabView [2]. I sure hope it's accurately programmed and well debugged! [1] https://en.wikipedia.org/wiki/Maeslantkering [2] http://www.ni.com/labview/?cid=Advertising-La…

Yet user's of LabView describe it as a horror to actually use practically [1]. [1] https://jshoer.wordpress.com/2007/08/03/why-i-hate-despise-d...

This person is very inexperienced with LabVIEW. The first two points are not true, and there are lots of hidden shortcuts for removing mouse use. (Ctrl-Space)

I was similarly furious with LabVIEW before I started working with people who had been using it for decades.

It's the easiest language I've used for making graphical user interfaces.

Re: Visual Programming Is Unbelievable (2015)

#35
post #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 tool…

Another place where visual programming is popular is among music producers, with systems like Max/MSP[1] and PureData[2]. I dabbled in PureData a little, and while it seemed to be ok for simple things, I imagine that for anything even moderately complex, it would quickly become a nightmare. While visual programming paradigms seem like a nice thing at first glance, they are missing out on whole ecosystems of tools dev…

I don't know what your definition of a "moderately complex" program looks like, but I have to say that from my own dabbling with PureData I really enjoyed the way it handled the concepts of abstraction and encapsulation.

It's been long enough that I've forgotten the terminology, but I remember thoroughly enjoying the process of first building a widget, then meticulously arranging all of the little boxes, color-coding, and labeling various sections until it looked visually attractive. Then when I was satisfied, I could take that entire widget and abstract it away as a small box with only the relevant input/output connectors.

I guess it's always just stuck out in my mind as the one time I really dug into a visual language, and the aesthetic aspect of organizing my "code" was very appealing. It's been a decade since I last opened any of those old project files, but I can still picture many of the components I built with my mind's eye. In and of itself, that's got to be worth something.

I imagine that someday we'll see the rise of a programming metaphor that works as a hybrid of code and visual. Even though working with PureData was inspirational, I don't see text-based languages losing relevancy any time soon. However, I think that while text code is great for representing the flow of logic, higher-order organizational constructs (such as class hierarchies) might be better represented by visual relationships. If I give you a paper and pencil and ask you to map out interconnected relationships between a bunch of entities, you're probably going to start drawing boxes and lines-- and end up with something that looks a lot like PureData.

Especially if you consider the potential of future iterations on today's VR/AR concepts, I wouldn't be too surprised if programming languages eventually looked like color-coded interconnected boxes of text code that can be rearranged in space. It wouldn't even be that far-fetched to imagine animations being included to enhance a programmer's ability to visualize the flow of logic. And I don't think that such concepts should be particularly offensive to those who consider themselves to be serious programmers.

Re: Visual Programming Is Unbelievable (2015)

#36
post #29
post #13

Can't communicate visually. The translation between written and spoken words, even made up technical words, is fast, accurate, unambiguous. Visual means slow, inaccurate, ambiguous, which is sometimes cool for art, but not for communication. It would be like trying to program musically, or by touch, or by (oh no) smell. There is also the productivity danger of futzing, or whatever the modern term is. In the early des…

Except we can perfectly communicate visually, and we do it all the time. It is common to draw diagrams when you are trying to understand or explain a problem. If you want to give somebody a rough idea of how your program works, it is infinitely more likely that you use some kind of drawing than music, touch or smell. I don't agree neither with visual programming inviting people to lose time in details. The same you d…

"Except we can perfectly communicate visually, and we do it all the time."

Hmmm, someone should create a visual programming language using Dilbert characters & iconography. :)

Re: Visual Programming Is Unbelievable (2015)

#40
post #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 el…

For fairly simple configuration tasks IMO visual programming is a powerful tool for non-programmer end users to actually create programs which are not prone to syntax errors, misguided loop conditions or such. It also means one does not need to learn yet another syntax. True, the application domains are limited, but for example the common node based computational graph generation done for example in Blender and other visual software works quite well.

It's not meant for professional programming, it's about empowering the end user with programmable tools.

Post reply on HN