Hacker News new | ask | show | jobs
by marknadal 3804 days ago
I think "visual" programming is the incorrect approach, something I would like to see more of is "tactile-spatial" programming. Anybody have an example of these? Most work I've seen is visual/flowchart which is not optimal for touch devices or large projects.
2 comments

This is what I'd like to see too. Let's get away from tiny motions and sitting in a chair and make tools more like traditional wood/metalworking tools for programming: benches with robotic appendages that we can manipulate ASTs with. Let's use our kinesthetic and touch senses more.
I've been thinking about this a lot; the problem I keep coming up against is abstraction. If you do allow abstraction, then the temptation is to make everything doable with a pinky finger. If you don't allow abstraction...

On the other hand, we do have two good examples: emacs and paredit. We don't abstract away text because we haven't really figured out how (some in this thread are trying, but the exceptions prove the rule), and parentheses we just abstract into fewer parentheses.

The point being: the medium must remain the same for the pleasant feeling of muscle memory to occur.

One interesting point is programming paradigms; a paradigm is (among other things) a relatively constrained set of actions one takes. Were programming changed to a more physical activity, one could imagine watching a developer and discerning, "ah, the object-oriented style," much as popular imagination imagines a martial artist watching another fight and discerning his style.

The last idea I'm having as I write this: I have also worried about "be careful what you wish for." Do we really want to repeat the same gross movements not as comfort demand, but as the code requires?

So one idea I have is: what if you tied certain operations/manipulations not to body movements, but to aspects of that movement. Short, staccato movements of any kind might correspond to indents or whatever: what's important is that one can do short staccato movements while walking, or golfing around with a pen, or reaching for a snack.

Weird stuff, just throwing it out there.