4 ms·
With regards to visual programming, I've seen it well-executed for event driven systems. MindRover was one example. It's a robot programming game I was involve
by lincolnq 17y ago
With regards to visual programming, I've seen it well-executed for event driven systems.
MindRover was one example. It's a robot programming game I was involved with, released in 1999. You would put components such as radars and weapons on your vehicle. When you went to program the vehicle, it would show you the components you selected, and you could draw wires between them. The wires would create events of the form "when the radar sees the enemy, fire the laser".
You could develop fairly complex behaviors. For example, there was a logical component which worked like a state machine: you could say "when the nearby radar sees the enemy, enter the run-away mode", and program the run-away mode to ignore the radars and drive in random directions. There were also 'variable' components that kept state and could remember values from one event to the next. I am pretty sure it was Turing-complete, although sort of awkwardly so. (The events were compiled into an object-oriented language which just defined methods for everything)
MindRover's execution model was sequential in response to events, but I think this sort of event-driven visual programming would work well as a concurrent system, because it makes it hard to depend on the internal state of other components.
- gdp 17y agoI think for domain-specific languages, visual programming makes perfect sense if the domain lends itself to visual representation. I guess the interesting question is whether we can even begin to approach generality.