Live data from Hacker News

Visual Programming Is Unbelievable (2015)

outsystems.com

61–70 of 107 posts

Re: Visual Programming Is Unbelievable (2015)

#62

Earlier quoted context omitted.

Watch Bret Victor's videos about Learnable Programming[1], in particular Stop Drawing Dead Fish. [2] Only because visual tools in the past were limited to putting properties in boxes doesn't mean that all visual tools have to be that way. [1] http://worrydream.com/LearnableProgramming/ [2] https://vimeo.com/64895205

I have seen it, and while Bret Victors 'research' is interesting, none of it actually scales to a practical level.

Because it is not engineered to industrial levels. It lacks encapsulation and packaging, but those can be added.

Have you seen the tools by Chris Granger (Light Table, Eve)? Although they are not as spectacular as Victor's, those show a lot of promise to become practical tools.

Re: Visual Programming Is Unbelievable (2015)

#63
post #40

Earlier quoted context omitted.

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…

But at what point does simple become complex? It's all well and good saying only use it for simple tasks, but when real life complexity comes knocking, you end up with this sort of magic [1] that is far worse than any C++ I've seen in the wild. [1] http://scriptsofanotherdimension.tumblr.com

People interested in VP really, really should learn about DRAKON[1], the Russian style guide for structured dataflows.

I've used it for real projects and it actually solves the spaghetti problem. Compare this:[2] with this:[3].

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

[2] http://scriptsofanotherdimension.tumblr.com/image/1386972466...

[3] https://upload.wikimedia.org/wikipedia/commons/0/0f/Dutch_cr...

Re: Visual Programming Is Unbelievable (2015)

#64

Earlier quoted context omitted.

I have seen it, and while Bret Victors 'research' is interesting, none of it actually scales to a practical level.

Because it is not engineered to industrial levels. It lacks encapsulation and packaging, but those can be added. Have you seen the tools by Chris Granger (Light Table, Eve)? Although they are not as spectacular as Victor's, those show a lot of promise to become practical tools.

Bret Victor's ideas lack a lot more than that. Complex systems contain hundreds of sub systems which in turn can contain hundreds of algorithms, which then contain many many variables. All interacting in some way. His ideas simply don't scale to this level (he works with Chris Granger himself stopped working on LightTable because he didn't believe in the project, and if you use it, the live editing gives minimal gains in productivity. As well as being buggy, slow, distracting and potential dangerous when blindly running half complete IO operations.

As for Eve, well.. his first release was a visual programming tool that inflated 3 line sql statements to take up a whole page with, you guessed it, boxes and arrows. Now he is working on a 'card wiki' idea which effectively tries to hide all the program logic behind pictures and hyperlinks. Neither are good ideas, or once again, scale in any meaningful way.

Re: Visual Programming Is Unbelievable (2015)

#65
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…

Jeremy Bernstein's discussion of NATO+3d modular has some interesting screen dumps of Max/MSP programs. [1]

Depending on the temperament of the "NATO.0+55 pilots" [2], the code could get pretty ahem "artistic" looking. [3]

[1] http://www.bootsquad.com/old_site/nato/nato00.html

[2] https://en.wikipedia.org/wiki/Nato.0%2B55%2B3d#NATO.0.2B55_p...

[3] https://en.wikipedia.org/wiki/Nato.0%2B55%2B3d#/media/File:N...

Re: Visual Programming Is Unbelievable (2015)

#66
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…

Except the programming is shit. My first job was building DCS software for coal power plants. We had such a graphical programming language. I can assure you, it was a pain in the butt to work with. Oh, you want to build many similar logic systems? Go ahead, do the SAME thing 200 times, click spamming is your job. The technology is used not because it's good, but because the industry is stuck in the 80's. I understand…

Both of the major platforms Allen Bradley RSLogix 5000 and Schneider Electric Unity allow the programmer to create objects of user defined data types and functions that can operate on elementary (eg float, INT) or user defined data types. They also support arrays, and arrays of objects. They also both support structured text so you can type if statements and for loops and call functions. So for at least those PLC platforms it is not exclusively visual and you can write a function once and use it many times.

Re: Visual Programming Is Unbelievable (2015)

#67

Earlier quoted context omitted.

Because it is not engineered to industrial levels. It lacks encapsulation and packaging, but those can be added. Have you seen the tools by Chris Granger (Light Table, Eve)? Although they are not as spectacular as Victor's, those show a lot of promise to become practical tools.

Bret Victor's ideas lack a lot more than that. Complex systems contain hundreds of sub systems which in turn can contain hundreds of algorithms, which then contain many many variables. All interacting in some way. His ideas simply don't scale to this level (he works with Chris Granger himself stopped working on LightTable because he didn't believe in the project, and if you use it, the live editing gives minimal gain…

Why do you think that doesn't scale? Hiding information is the basis for progressive disclosure, which is essential to handling the limitations of short-term human memory. Wikipedia is card-based,* and it is one of the five largest sites in the web. See Cognitive Dimensions[1] for ways to make visual systems scale.

As soon as you add encapsulation and abstraction, the system can scale; it's no different than hiding code logic behind function declarations and object schemas. If you add easy composition, like modern functional languages have, such systems could be more scalable than traditional imperative languages; code outliners like Leo follow the same structural principle, and they're great for programming.

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

* Ok, Wikipedia contains articles and not code, but my point is that the structure can handle lots of hierarchical content in multiple categories.

Re: Visual Programming Is Unbelievable (2015)

#68
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…

The nice thing about VPLs is that they are more intuitive to people with non-programming experience. I imagine many Max/MSP / PD artists have never written a line of C in their life. And even if you have programming experience, VPLs can be a lot quicker to set up for certain tasks versus writing a full fledged plugin. So VPLs can be great as a prototyping / experimentation tool.

But yes, absolutely, for more complex tasks (and my examples would be: DSP routines such as filtering, anti-alias oscillators, etc.), it would be better to use a text language. Both PureData and Max/MSP have external objects (that you write and compile in a text based language) for this purpose... although, even these objects will never be as fully optimized as a plugin that is completely text-language based.

Re: Visual Programming Is Unbelievable (2015)

#70
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

[deleted]
Post reply on HN