Live data from Hacker News

Ask HN: Why does visual programming suck?

news.ycombinator.com

111–120 of 325 posts

Re: Ask HN: Why does visual programming suck?

#111
post #101
post #94

Earlier quoted context omitted.

There are hybrid languages, like Python... Visual whitespace denotes blocks while visual symbols like "if", "for", and "def" denote the meaning of those blocks. (and sane programmers use visual layout to convey structure in every language)

I don't think that meaningful whitespace counts as "visual programming." That just means that a whitespace character has meaning, just like a word character or a punctuation character. It's still purely text-based. I think that "visual programming" means that the editing environment to some extent visually represents the intended outcome of the program. WYSIWYG web editing is the obvious extreme example of this. Whit…

Ah, I see. But other than WYSIWYG editing I'm having trouble imagining how a language could be general purpose and could still be visually representative of the output of the program rather than the behavior of the program (much like the visual layout and syntax coloration of modern text languages conveys).

Are there other examples of those cases?

Edit: maybe I was presumptive to assume that they had to be "general purpose". Are we talking about more narrow domain-specific languages here?

Re: Ask HN: Why does visual programming suck?

#112
It doesn't suck if your code involves complex flows of relatively simple data. Programs like Reaktor and Max MSP have been hugely successful for this kind of coding in the music world.

If your data structures are more complex and require more convoluted logic, which is more often the case than not, then the benefits of visual programming diminish and the downsides are much more apparent.

Re: Ask HN: Why does visual programming suck?

#113
I think visual programming is one of those ideas that intuitively seems like a good idea but never is. Thus, it never really dies, it just gets picked up as a kind of rite-of-passage by new generations of developers. Managers also tend to like the concept as it would allow them to bypass the pesky code monkeys and just feed their drawings to the computer.

For my master's thesis, some 15 years ago, I programmed a system for visually composing and executing Java programs. The UI looked a bit like UML, and it worked nicely for anything resembling "Hello world" complexity (anything more complex literally became hairy to look at). Since then I've twice found myself on projects where we had to work with visual programming tools (caused by skilled salesmen and inept managers). In both cases the only sensible action was to pound the "eject" button until we were catapulted away from the monster. All in all I consider myself vaccinated at this point.

As for my reply to the question of the OP, I'm not sure that it differs much from everyone else. The main reason that it will never catch on, IMHO, is that the text editor is far better for managing complexity. It's easy to search for stuff, and it's easy to move or copy it. Also, every serious text based programming languages offers plenty of ways to hide complexity away, allowing you to focus your thinking at the desired level of abstraction. Visual programming tools -- or at least those that I have met -- instead force you to deal with stuff that doesn't matter (such as aligning boxes and arrows), and views very quickly become cluttered when you start connecting things.

That being said, I think visual tools can be a good fit for tasks whose output is UI. There are applications and frameworks that allow you to drag'n'drop to compose the UI, but the code is still written in a text editor. This can work reasonably well.

Re: Ask HN: Why does visual programming suck?

#114
post #101

Earlier quoted context omitted.

I don't think that meaningful whitespace counts as "visual programming." That just means that a whitespace character has meaning, just like a word character or a punctuation character. It's still purely text-based. I think that "visual programming" means that the editing environment to some extent visually represents the intended outcome of the program. WYSIWYG web editing is the obvious extreme example of this. Whit…

Ah, I see. But other than WYSIWYG editing I'm having trouble imagining how a language could be general purpose and could still be visually representative of the output of the program rather than the behavior of the program (much like the visual layout and syntax coloration of modern text languages conveys). Are there other examples of those cases? Edit: maybe I was presumptive to assume that they had to be "general p…

I think the "visually representative of the output" isn't a suitable way to describe it.

The visual language I always think of is LabVIEW. It is very different than a textual language.

Re: Ask HN: Why does visual programming suck?

#115

It doesn't suck if your code involves complex flows of relatively simple data. Programs like Reaktor and Max MSP have been hugely successful for this kind of coding in the music world. If your data structures are more complex and require more convoluted logic, which is more often the case than not, then the benefits of visual programming diminish and the downsides are much more apparent.

GNU Radio is another example of this succeeding with manipulating flows of data.

But I agree that's an intrinsically different problem than what OP is describing, which is essentially a WYSIWYG editor.

Re: Ask HN: Why does visual programming suck?

#116
Personally, I think that written language is a more natural way to describe and reason about complex systems and symbols.

It's the same difference between writing mathematical proofs as systems of equations vs. proof by drawing a diagram, or making a visualization.

Proofs can be written using both methods, but if you have a strong command of the written/symbolic vocabulary, it is faster and more succinct.

Put another way: I can describe the landscape of a lush, green Tuscan Countryside--with rolling hills, morning dew, and and crisp feeling of the first rays of sun cutting through the mist--in just a few lines. You get a picture in your head, and it is likely very similar to what was in mine.

Imagine now, that we can't use words. We have to draw pictures. It will take much longer to get the same point across. Language--for certain purposes--is more efficient, and more information dense.

That's my hypothesis/feeling.

Re: Ask HN: Why does visual programming suck?

#117

Earlier quoted context omitted.

Right, code is data. But the interface to write and modify that data is text. Consider, how long does it take you to draw an infographic representing the percentage of the United States that has a college education? How long does it take to modify it when you realise it is a mistake Now how long does it take you to represent/change that data with text?

Your example is strange. Changing the text and changing the data would require the same amount of time. And a graph would, in fact, instantly put that change into context. Right, code is data. Not now, though. Currently, code is text -- it's not data. That's the problem. And, yes, currently, drawing it instead of typing out the text is a horrible idea. We agree. But remember, currently, we're failing. Software is a d…

I think you are chasing something that does not exist.

While i submit to the idea that programs are "data", and could be represented not just like text, the expressiveness when using a visual representation is small, but the exactness is as high as normal languages.

I've seen large visual-programming programs, and they explode into complexity, and I think there is a reason for that, the expressiveness of a symbolic language using text is so much higher.

Could we increase the expressiveness even further? English have high expressiveness but is inexact.

I don't think it's possible to increase the expressiveness and keep the precision - at least without some sort of intelligent agent that can reject interpretations that makes no sense.

So - when general AI is invented, we can probably soon write programs that are very inexact, highly expressive, but still work.

Until then, we will have to continue wrestle down the computer to obey our if-statements, one by one.

Re: Ask HN: Why does visual programming suck?

#118
post #22

Every time a VPL (Visual Programming Language) has gone against a TPL (text programming language) , VPL not only has come out a winner it has massacred its opponent. There are 3 areas that I am aware of that VPLs have appeared a) modular audio synthesis b) 3d graphics c) game programming (a) has been the first with origins back to 1995 , there are like a ton of programming apis for building modular synthesizers , the…

If Blueprints have really become the default in Unreal, why are they so barely talked about? Searching for "unreal blueprints" on Google returns less than two full pages. Do you work in the industry?

If I go to the last page of a Google search for unreal blueprints it says that it showed me 120 results. 12 pages.

If I go to the last page of a Google search for C++, it says that it showed me 180 results. 18 pages.

It used to be that Google would tell you an approximation of how many matches they actually had in total for a search of their index but they no longer do anywhere that I am aware of. If there were only two pages of results I might have agreed but when there are 12 pages it will show to me I don't think there is any useful conclusion to be made about the actual total amount of sites that contain these keywords.

However, there is another site that still gives us an approximate count of results. YouTube.

Searching for C++ on YouTube I am told that there are "about 1,010,000 results".

Searching for Unreal Blueprints on YouTube I am told that there are "about 57,800 results".

Searching for UDK Blueprints on YouTube gives "about 18,600 results".

There will be some amount of overlap between the latter two.

I don't know how many of those videos matched only blueprints and was included though.

But let's do another couple of searches.

UDK C++ on YouTube gives "about 11,000 results".

Unreal C++ on YouTube gives "about 60,900 results".

Well, it seems that the words UDK and Unreal are significant when searching on YouTube, since otherwise both of those searches should have given about a million results like the search for just C++ alone did.

So comparing "Unreal C++" and "Unreal Blueprints" on YouTube actually gives a surprisingly high amount of results about blueprints compared to C++ for Unreal, certainly a lot higher than I would have expected. I would have expected at least 25 times as many for C++ but it seems to be almost the same amount of videos for each of those.

Of course one might wonder if even though the words Unreal and UDK might have matched correctly, did the words blueprints and C++? Or do the results include a lot of videos that are about neither blueprints nor C++?

Additionally some amount of videos will have both these words but will not be about the Unreal Development Kit. Instead one video might be something like "Unreal! Secret blueprints confirming conspiracy theory so-and-so confirmed!" You get the idea.

Re: Ask HN: Why does visual programming suck?

#119

i think most people that have an opinion on visual programming have not actually ever used a visual programming language in earnest. i have worked in labview very seriously over the past 4-5 years. at this point, i am essentially an expert in the language. i have done object-oriented programming (OOP), functional programming, and also programmed using an actor framework. all of that is in addition to obviously adopti…

> i think most people that have an opinion on visual programming have not actually ever used a visual programming language in earnest.

Yes. I have used a dataflow language for 3d modeling - Grasshopper - for 5-6 years. I can't agree enough with you about the joy of interactive writing, running, debugging, etc. Grasshopper also happens to have blocks/nodes where Python/C# code can be inserted, which is the best of both worlds.

As someone who has never used labview - do you have any links to examples of your work, or well-structured labview code?

Re: Ask HN: Why does visual programming suck?

#120
post #60

Earlier quoted context omitted.

请你到超市去买两瓶酒。如果你见Joe,告诉他我们明天六点钟参加派对在我的家。 Here, that was quite fast to paint. Would have been even faster with a proper brush instead of a keyboard :p

If that was a painting then surely I would have some remote idea of what it represents. As it is, I (and many others) don't.

Unless it was modern art, of course.
Post reply on HN