top | item 37137716

(no title)

vaughan | 2 years ago

Code should be more like a children's popup book with little tabs to pull on to make things move around.

When I look at a foreign piece of code I want to see all the runtime values inline in my editor and a time-travel debug session with a slider and a stack trace of the function under my cursor, and a trace of the _value_ under my cursor showing every transform that happened to it, and all common data structures and their algorithms visualized and animated in appropriate diagrams. And available in all our tools instantly - like when viewing code on Github.com.

I really think you could figure out what is going on with most code if you simply move a slider back and forth and watch everything that changes. And it would be much more fun with a physical knob to turn (e.g. https://www.tourboxtech.com/ or https://www.binepad.com/product-page/bnr1-v2). Knob-driven development :D

discuss

order

scottlamb|2 years ago

Heh. I think you have the absolute opposite viewpoint from Rob Pike, who said of syntax highlighting [1]:

> When I was a child, I used to speak like a child, think like a child, reason like a child; when I became a man, I did away with childish things.

I'm with you! That sounds awesome. I enjoy not only syntax highlighting but also type annotations and doc references on hover. I'd love to see even richer and more interactive stuff.

[1] https://groups.google.com/g/golang-nuts/c/hJHCAaiL0so/m/E2mQ...

darkmarmot|2 years ago

Have you tried doing this with distributed computing? It's not very feasible...

vaughan|2 years ago

Local simulation + deterministic record-replay.