Live data from Hacker News

Ask HN: Why does visual programming suck?

news.ycombinator.com

1–10 of 325 posts

Ask HN: Why does visual programming suck?

#1
Almost every visual programming tool I've seen on HN looks so cool when I see the gif, but when I start using it, it's invariably a frustrating experience. I think it might be because customizing the last 20% is difficult visually, and you so you have to drop down to code. But once you're in visual programming land, changing abstraction layers is difficult.

When I asked Alan Kay this question, his first response was "well there are various types of visual programming, some of them have taken off". The type of visual programming I'm thinking about here is a WYSIWYG drag and drop interface for building UIs. Imagine having prebuilt views (tables, buttons, dropdowns, etc.) and being able to drag them and lay them out how you want. Then you interact with their API: this table pulls in data from this SQL statement; this button executes this HTTP query; this dropdown publishes this value, which this SQL statement uses via string interpolation. These "widgets" publish their data, which can be used by other widgets (w1.value), and inside SQL queries. The tables can pull in data from SQL queries. You can use string interpolation inside SQL queries, so dropdowns can influence the query being run. So selecting a drop down value would cause the query to change, which would automatically propagate changes to the table.

Re: Ask HN: Why does visual programming suck?

#2
If you want an answer to your question, you yourself should know what you're asking. I honestly don't know if you're asking a rhetorical question, complaining about the reality, or asking for feedback on your idea. You are talking about multiple things at once here:

1. asking why visual programming sucks;

2. Talking about your experience with Alan Kay;

3. talking about your idea of an ideal visual programming method.

Re: Ask HN: Why does visual programming suck?

#3

If you want an answer to your question, you yourself should know what you're asking. I honestly don't know if you're asking a rhetorical question, complaining about the reality, or asking for feedback on your idea. You are talking about multiple things at once here: 1. asking why visual programming sucks; 2. Talking about your experience with Alan Kay; 3. talking about your idea of an ideal visual programming method.

Thanks for the feedback! I'm asking about 1. and 3.

1. I have a theory on why VP sucks -- is it right? What do other people think?

3. Yes -- I'm looking for feedback, but in the context of why visual programming is no good. Also because of below:

2. I brought that up because visual programming is big, which is a good point that Alan Kay made. So I provided an example, or idea that I had. Is visual programming bad in this case? Why, or why not?

Re: Ask HN: Why does visual programming suck?

#6
post #4

Because of the Deutsh limit: https://en.wikipedia.org/wiki/Deutsch_limit

That's like saying it's impossible to design a motherboard because you can't show all the bypass capacitors on the top level schematic. Hierarchical design and layers of abstraction are vital in both hardware and software.

Re: Ask HN: Why does visual programming suck?

#8

If you want an answer to your question, you yourself should know what you're asking. I honestly don't know if you're asking a rhetorical question, complaining about the reality, or asking for feedback on your idea. You are talking about multiple things at once here: 1. asking why visual programming sucks; 2. Talking about your experience with Alan Kay; 3. talking about your idea of an ideal visual programming method.

Luckily we're on an Internet forum where people can take their time to read the question and then have even more time to figure out how to respond, what to respond to, and what to ignore.

It's entirely possible to have complex conversations here where more than a single topic is being discussed at one time. This isn't Stack Exchange.

Re: Ask HN: Why does visual programming suck?

#10
There is a couple of reasons. First, VP is essentially just putting code snippets into nicely coloured boxes, which adds no value apart from making you have to scroll/zoom more. Additionally the structure of the visual becomes important, opposed to text which can be infinitely appended to, and so once you add enough complexity the whole thing becomes complete spaghetti.

VP also hides away a lot of implementation details from you, and assumes the computer will be able to figure out something better than the programmer. For example, when would the dropdown run the SQL query? on page load? on drop down open? As you scale the app bigger, you may want to run a single SQL query and then chop up the results and hand them out to several dropdowns. If your VP interface doesn't support this then your done for, but with code there is always a way.

There is always Clojure of course, which lets you edit your GUI while the app is running, and upload code changes without having to rebuild, allowing you to tweak stuff as you go. REPL driven development is great as it gives you both the flexibility of written code, as well having close to the interactivity that VP offers.

Post reply on HN