Posted by iamwil 6 hours ago
Killer features that come to mind are:
You can drag and drop asset references instead of relying on textual tokens.
You can build a framework where incorrect code does not fit together, or pins dont connect, or draggables do not allow for blocking. It's a much better feedback to a certain type of person than a textual error.
Then the article seems to go on and on about knowing how to make a great visual programming language despite not producing one.
All are using blocks with input and output which are either having predefined function or you can define the block function with a code. Reading these programming schematics is sometimes great to understand the high level of how program is working with input data (left) towards output (right). However the moment you will introduce loops, visual programming will just fall apart like a glass hit by a hammer.
Simulink is getting more expensive every year, and licensing is a huge barrier to open source models.
Edit: basically, we want Dyad (https://juliahub.com/products/dyad) except free.
Maybe there's an unobvious way to make visual programming actually useful?
Probably quite a few people have wondered that throughout the ages. I know I have.
In the meantime, this AI thing happened, emphasizing even more the use of text/voice as a mode of creative expression.
Erlang-Red is inspired by Node-RED which itself is inspired by flow based programming.
[1] https://github.com/gorenje/erlang-red
Disclaimer: I’m the author of Erlang-Red.
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
If we really leaned into the visual cortex, maybe we’d get something where zooming out shows the big picture and zooming in shows the gritty details, like Google Maps for code. Until then, node‑and‑wire diagrams are just UML diagrams that decided to cosplay as circuit boards.
This is only true if you prefer whimsical metaphor over concise description and cleaning up unexpected behavior instead of precisely defining what you want upfront.
#ted #nelson #engelbart