Time to talk about better developer experience through projectional code editing. I've been exploring this space in the last couple of years and here's a few things I either came up with or stole (hard to say at this point):
-
Show this thread
-
Replying to @gr__or
The sanity of this approach depends on how much of editing is making a transition from one valid code state to another through a series of invalid states, where a uniform text editor handles that more gracefully.
1 reply 0 retweets 18 likes -
Replying to @TimSweeneyEpic
That is the crux! I very much invite examples of code transformations that might be simpler with a uniform text editor. Currently I operate on the hypothesis that there is always a better structural approach. Alternatively there'd be an escape hatch for free code editing
1 reply 0 retweets 3 likes -
Replying to @gr__or @TimSweeneyEpic
This is about as good as i could make it for JS: https://makepad.github.io/makepad.html but ultimately im abandoning the idea of always live formatting all the time. It makes intermediate states really 'jumpy' to the user. Also structured code nav is quite complicated and requires unlearning
1 reply 0 retweets 3 likes -
This is the new approach using ctrl-enter/cmd-enter to format but not really messing with it untill you press that. https://makepad.github.io/makepad/ i am considering 'disallowing' cursor travel in ALL whitespace that seems like a good idea.
1 reply 0 retweets 2 likes -
Replying to @rikarends @TimSweeneyEpic
So speedy. Makes me wanna do a more principled Rust rewrite of the structured editor
1 reply 0 retweets 0 likes -
Replying to @gr__or @TimSweeneyEpic
Go for it, Rust is the future imho. It made me even a half decent programmer. As with JS i would count myself as an obfuscating garble with tangled sideeffects producer.
1 reply 0 retweets 1 like
Maybe structured editing become the default, and you hold ctrl for character editing.
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.