Some good points. But I think your view has become too negative, perhaps due to your experiences. Or at least I see more hope for visual programming. :)
> 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.
Perhaps the intutition is right, but the problem is too general and thus very hard to solve. And I think that, looking at the general trend, it does seem to evolve towards something better with every new generation.
Not the first and not the last idea like that.
We're just not there yet.
> For my master's thesis, some 15 years ago, I programmed a system for visually composing and executing Java programs.
Similar experience here [0]. :) But for me it was a year ago, so I guess I represent a newer generation.
> Since then I've twice found myself on projects where we had to work with visual programming tools
I worked with some too, mostly Unreal Engine 4. Fortunately all for education, not for work. ;)
And your experience is probably a good picture of the state of the art in this area, if it comes to complex and more general-purpose application development.
> The main reason that it will never catch on, IMHO
I'm still a believer. But probably not in my generation either. ;)
> 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.
True. Compared to a visual editor of today.
For this and other reasons, text coding can't and will not be replaced with visual coding. Visual programming, I think, should be thought of as an extension of text programming.
So I think that visual editors will only start becoming successful and more wide-spread among regular developers when they stop being visual-only. Or, in other words, when they stop eschewing all the good parts of text-based environments. Visual programming should complement text-based programming. Not replace it.
> 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.
It's almost like coding in text without the editor helping you with indentation and structuring of text. You have to arrange boxes and connections yourself.
This is one thing that illustrates that some visual languages are really a few steps back in evolution compared to text languages.
But there are visual environments (e.g. Scratch and the like), which do help you with structure.
Anyway, I'm tired and it's very late, so I'll end here.
Cheers!
[0] (copy-pasted from my previous comment):
(a screenshot from my project) http://djedr.github.io/gfx/masters-thesis/ide-prototype.png
(link to my thesis) http://djedr.github.io/masters_thesis.pdf