| I use such tools when I can, and am fascinated with the concept, since it evokes Herman Hesse's _Glass Bead Game_ (from his novel _Magister Ludi) which was a book I remember fondly from my youth. Advantages are: - discoverability --- it seems pretty easy to arrange all elements in a hierarchy and make them accessible via clicking/revealing - no syntax errors --- if things fit together/connect, then it should be a syntactically valid program The problem is, it relies on a couple of concepts we don't seem to have a good solution for: - What does an algorithm look like? - How to deal with an algorithm which is larger than the current screen/window size? (it's all-too easy to have the same sort of problem of a not-wrapped program with lines longer than the current window size and more lines than will fit in a window, and there doesn't seem to be a 2D graphical equivalent of turning on word-wrapping) - If programs are broken down into discrete modules, then connected together, one is back to the wall-of-text description which presumably one was trying to escape from, just wrapped up in boxes and connectors Two pages with cautionary images are: https://blueprintsfromhell.tumblr.com/ and https://scriptsofanotherdimension.tumblr.com/ I've been trying to use OpenSCAD Graph Editor: https://github.com/derkork/openscad-graph-editor in my own work: https://github.com/WillAdams/gcodepreview and the screen grab from there sums up the difficulties pretty well: https://raw.githubusercontent.com/WillAdams/gcodepreview/mai... |
Even in text, you don't try and look at everything at once, zooming out for a "structure overview" seems useful, but that is not what is happening here, its just imperative code being shoehorned into a DAG and left wherever a user left it instead of organizing itself, which is the whole benefit to graphical programming.
This demo of "unit" at least seems to organize nodes and views of nodes better.