Off topic (and a bit "hijack someone's post") but I keep thinking about the inherent suckiness of visual programming and what needs to happen to improve it.

I think the core problem is that - unlike text-based programming - the editor is intimitely tied to the rest of the authoring environment and runtime. Sometimes it is the entire authoring environment.

Text coding benefits from standardised tools that are decoupled from the applications they serve and interoperability. You want to write your Rust in nano? Go right ahead? Want to write some lua that does bulk edits to your COBOL library. Fab.

More importantly is that we learn the tools and keyboard shortcuts and those skills transfer to new languages and environments.

The main issues would be mitigated by:

a) some standardized UI conventions

b) all visual programming tools offering lossless round-tripping to textual representation (it doesn't have to be tuned for human writability - it just needs to be sane)

B also helps with the other big flaw with visual programming - the way it breaks version control workflows. I heard from an Unreal dev that even opening a blueprint and highlighting a different node will change the file. That must be fun when it comes time to merge...

I could write reams on this topic. I want visual programming to be better - I think it has unique strengths. But currently it has two niches:

1. People that can't bring themselves to learn text-based coding.

2. Tasks where discoverability and immediacy trump all the disadvantages.

Well, for a node oriented approach we could have standard auto layouting that we could augment with hints for grouping, layouting prioritization etc. to achieve some kind of "universal editing" approach for visual programming.

After all, we use lots of comments to give some structure to text-based coding.

There was a post about https://github.com/samuelmtimbo/unit recently, which at least uses some kind of hinted auto-layout (besides the more propriety fancy)

I really want to see more graphical coding for years, but node/graph-based and blockly seem to be the only approaches that got sone traction so far. So I like this thread and it seems at the right place.

I'd wish to see more use of 2D and now 3D space for structuring, annotation and overall overview and navigation. Text plus a directory tree view can't be everything, especially since we have so many structural views for coding, runtime, versioning that basically are connected in our mind, but also could be in a space with more dimensions. Not sure if we could find/agree on a common denominator, though. Text is one because it's basically the bottom of common ground. Not sure if that's not just the trivial solution (ok, I am).