Live data from Hacker News

Visual Programming Is Unbelievable (2015)

outsystems.com

91–100 of 107 posts

Re: Visual Programming Is Unbelievable (2015)

#91

Earlier quoted context omitted.

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 c…

> Why do you think that doesn't scale?

Because it doesn't. Watch Bret Victor's last talk about Eve. All those ideas fail when you give them to novices and try to do anything more complex than describing a few static relationships.

Maybe there's a way, but I'm skepitcal.

Re: Visual Programming Is Unbelievable (2015)

#93
post #35

Earlier quoted context omitted.

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…

Pd and Max/MSP are indeed great languages, at least with respect to being able to visualize audio signal flows. But I beg to differ with this idea that they can't be fast or efficient. Such languages can be compiled just like any other, though Pd doesn't do this in order to retain the flexibility of dynamic patching.

[1] I helped write a system called Heavy which can translate Pure Data patches into fast C code. https://enzienaudio.com/

[2] Here's a simple example video. https://www.youtube.com/watch?v=_zwI5g3NNYw

Re: Visual Programming Is Unbelievable (2015)

#94
post #78

Earlier quoted context omitted.

> English is infinitely more scalable than any programming language, and the brain is far more capable of understanding than a computer. So comparing the two is unfair to say the least. IMHO programming a large system shouldn't be all that different from writing an encyclopedia, or rather a math textbook; the same combination of informal explanation and formal demonstrations could be the shape that "visual" programs…

> Programming languages should be made for human consumption The problem here is the "impedance mistmach" between humans and computers. Wikipedia is not a good example: it is exclusively for humans. If there is a "program" for the computer, it's minimal: "search this", "when I click here, take me to this page" (you'll notice everything more complex than that, even in Wikipedia, requires its own mini-language). This i…

> Wikipedia is not a good example: it is exclusively for humans.

Not exclusively. Bots and Wikidata have shown themselves pretty capable of doing complex automated tasks on top of the structured data contained in the encyclopedia. And the wiki platform plus templates is a very general and flexible data structure that makes it easy for humans and software to collaborate.

> In order for something to be understood by a computer, it must be specified in formal terms

This doesn't need to be that way, at least not for 100% of the system. End-user development tools like spreadsheets and Programming By Example can be used to ease the impedance mismatch without requiring the human to specify by hand every single step in a formal language, so that partially ambiguous inputs can be used to specify valid programs.

Only the task of building system software should require the full technical approach; most business applications can benefit from looser approaches - in fact being less strict can be a benefit in the requirements specification phase, just like User-centered design has shown us.

Combine that with logic solvers and deep learning, and in the future we could get some systems that can use very high-level commands to build fairly complex automated behaviors.

Re: Visual Programming Is Unbelievable (2015)

#95
post #75

Earlier quoted context omitted.

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...

A drakon node does not seem to support multiple input values? That's why these visual graphs get convoluted. Compute nodes deal with multiple input and output connections.

Good call. Drakon is for control flow specification, not data flow specification. However having a standard for splitting subsystems in separate modules and laying out components using regular rules would benefit any kind of visual graph.

Re: Visual Programming Is Unbelievable (2015)

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

[deleted]

Re: Visual Programming Is Unbelievable (2015)

#98
post #91

Earlier quoted context omitted.

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 c…

> Why do you think that doesn't scale? Because it doesn't. Watch Bret Victor's last talk about Eve. All those ideas fail when you give them to novices and try to do anything more complex than describing a few static relationships. Maybe there's a way, but I'm skepitcal.

Yet end users are able to build fairly complex data structures and conditional processing using spreadsheets, so we know for sure that it can be done.

Of course experimental tools will be severely limited compared with industrial IDE systems that have been polished literally for decades; it will take years before we get these new tools into shape and learn what their best use cases are. But I'm not skeptical, because I've seen it happen before, and the conditions for it are now better than ever.

Re: Visual Programming Is Unbelievable (2015)

#99

IMO, Visual programming does not have a proper definition yet. Coding frontend and coding backend are altogether two different things and sometimes users confuse the application of visual authoring (programming) in one area with the other. But I believe it is the future. I bet you won't be carrying your laptop, enslaved by the physical keyboard, which is necessary for traditional 'coding' with you in 2030. You would…

> I bet you won't be carrying your laptop, enslaved by the physical keyboard, which is necessary for traditional 'coding' with you in 2030. I disagree. I wouldn't have thought that Microsoft, author of Visual Basic, would be basically forced in 2015 to add improvements to their console system -- but here we are. If anything text-based programming is more prominent now than in the last 10 years. > You would be draggin…

Second. I am a competent programmer who degrades himself in the drudgery of business rules and visual ETL (DataStage, Informatica, etc.) and I do it only for the money.

So many of the problems are trivially solved with small programs, or even gasp just plain SQL. I concede there are features delivered by these fancy ETL tools beyond the quick (but not dirty) of custom solutions, but the overheads are higher too and I believe a cost-benefit analysis would invalidate the supposed business cases for using these tools.

This is not not-invented-here syndrome. This is simpler and cheaper. The problem for my case often is previous attempts to do it ourselves are shit. That's not a problem with the technology. :P

Behind the scenes I've solved hundreds of problems - one-off or on-going, small and large - by writing custom applications. This is the real increase in productivity that justifies my fee.

Re: Visual Programming Is Unbelievable (2015)

#100
post #78

Earlier quoted context omitted.

> Programming languages should be made for human consumption The problem here is the "impedance mistmach" between humans and computers. Wikipedia is not a good example: it is exclusively for humans. If there is a "program" for the computer, it's minimal: "search this", "when I click here, take me to this page" (you'll notice everything more complex than that, even in Wikipedia, requires its own mini-language). This i…

> Wikipedia is not a good example: it is exclusively for humans. Not exclusively. Bots and Wikidata have shown themselves pretty capable of doing complex automated tasks on top of the structured data contained in the encyclopedia. And the wiki platform plus templates is a very general and flexible data structure that makes it easy for humans and software to collaborate. > In order for something to be understood by a…

You have a point about wiki bots, I hadn't thought of that. But isn't the "Wiki platform plus templates" an example of a textual programming language with a precise syntax and rules?

As for the rest, I think it's a pipe dream except for the most basic, "build this out of predetermined blocks" apps.

Post reply on HN