> Maybe there's an unobvious way to make visual programming actually useful?

I'd think it would be finding the optimal parameters for an algorithm that is probably better expressed in another language.

Even though they are all Turing complete, any programming paradigm is biased towards solving certain kinds of problems.

It seems "visual programming" is biased towards the computationally irreducable[1]. This is a class of problem very sensitive to initial conditions. The chaotic behavior may eventually settle towards a stable state. So, the image of that stable state then encodes the parameters you'd want to use on the algorithm you wrote in another language.

That's not meant to be harsh. This gets directly to the heart of why we may want to write the same ideas in different ways even if those writings seem logically equivalent. One way is just easier to understand than the other depending on what part of the problem you're trying to tackle. These multiple writings are not redundant, but the facets necessary to more thoroughly explain a problem. In fact, upon closer inspection you'd find that what seems like the same algorithm written two different ways is actually not the same because they are executed differently.

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