top | item 36275013

(no title)

kabirgoel | 2 years ago

> Most programming work is still text editing [...]

Text no longer needs to be the primary way of conveying programs. There are practical reasons text works best on screens, but if your coding environment is boundless then there’s no reason to believe you can’t do fancier things like direct manipulation of ASTs pretty easily. Imagine "grabbing" an AST node and attaching it to a different parent, all in space.

Beyond simple AST manipulation, the Vision Pro will probably enable Dynamicland-esque "programming spaces" where you manipulate objects in your virtual environment to construct programs.

discuss

order

stoniejohnson|2 years ago

This seems like a very literal interpretation of "spatial computing"; I don't think anyone will be physically manipulating ASTs with any regularity.

pixel_tracing|2 years ago

This sounds neat and all but I can “create” much faster with my fingers.

I think it boils down to it being a “programming language”

What we need for AR / VR is “programming gestures”

This way there is no syntax but visual mediums you manipulate via gestures. And this would get compiled to a binary which can be executed.

jazzyjackson|2 years ago

This was one of my first thoughts when I tried Hololens back in the day -- it would be great to watch the execution of my software, or visualize all the messages being passed between functions or different services on my network, and go all in on block-based programming in 3D (trees can be packed more densely in 3 dimensions, even moreso in 4)

I was expressing this to a friend who was involved in VR in the 80s (VPL research) and was simultaneously elated and disheartened to learn that they had the same idea ! Googling around for it now I suppose he was telling me about "Body Electric" or "Bounce" and looks like any other 2D data flow language [0]. Maybe just ahead of its time. A patent about it [1] describes the problem with wires going everywhere and needing to provide the user the option to hide any set of connections. I'd want to accomplish this by representing the whole connectome in 4D space, and then shifting the projection into 3D to hide and reveal a subset of connections. Further visual filtering could be performed with a depth of field focus and fog effect, controlling all these parameters to isolate the subset of the system you want to inspect.

[0] http://www.art.net/~hopkins/Don/lang/bounce/SpaceSeedCircuit...

[1] https://patents.google.com/patent/US5588104 (bonus, figure 3 shows the dataglove as just a hand plugging into the PC)

ehutch79|2 years ago

Literal spaghetti code?

How do you deal with references? Like defining a variable and using it later in multiple places?

klyrs|2 years ago

We already have plenty of these, and they suck at doing anything serious.

jazzyjackson|2 years ago

Sounds like a good reason to try to do better. Unless you suppose the UI of programming is solved and everyone who wants to have control over a machine just needs to bite down and learn vim ?