- spatial & temporal representation, split program into procedures and sequece/control flow.
- Visual representation: great for scatching spatial relationships.
- text is good for temporal/time relations.
- The programmer pictures (mental image) the program, imaginning it as a graph, parts with connections. The idea that you can put up a chart, and the chart is the program.
- During reading a program, the programmer jumps between blocks, not line by line as in text based programming. Creating a mental map of the code (maps imperfect by nature, as maps are a reduction of what they represent).
- Allows to view the program all at once.
- Procedural abstraction: making a shorthand for a piece of code. And naming of parts of code.
- Collapsable text blocks, abstracting currently unnecessary sections.
- Realtime changes: e.g. updates to the middleware sequencemin realtime.
- The engine takes the state of the editor (nodes and connections, etc.) and recomposes the implementaiton graph, chains the pure functions with observable glue. On change, reconciles the state of the editor with the state of implementation.
- highlight the executed coe in a visual diagraph.
- View the graph itself as a program.
- Textural programming languages obfuscate what is essentially a simple process.
- Abstraction and decoupling play a small and peripheral part in programming.
- The tools that have been developed to support programming are unimportant.
- Block-based: e.g. Scratch, Blockly.
- Flow-based: represent state flows, data flows, logic flows.
- Prograph (language designed in the 80s)
- all the rest etc ..
- Control flow of abstractions.
- Twillio studio
- Unreal Engine
- Field of 3d and shaders design.
- Field of music synthesis.
- Field of IOT signal processing. e.g. (https://www.youtube.com/watch?v=4BeL05yinSw)[Arduino xod.io]
- Prototyping: https://www.youtube.com/watch?v=cAiFJEcqwm4
- Profiling and analysing code. e.g. call graphs.
- https://www.youtube.com/watch?v=EGi0tbFhA_M
- https://www.youtube.com/watch?v=RV4xUTmgHBU
- https://www.youtube.com/watch?v=up2yhNTsaDs
- https://jpaulm.github.io/fbp/
- https://github.com/myuseringithub/awesome-fbp
- http://www.pearltrees.com/t/flow-based-programming/id6787929
- http://charlesbroskoski.com/_/view.php?id=dataflow
- http://eprints.fri.uni-lj.si/3208/1/Levar.pdf
- https://www.amazon.fr/Flow-Based-Programming-J-Paul-Morrison-ebook/dp/B004PLO66O
- A visual programming language is also known as an executable graphics language