4 ms·
I think this overstates the general case a bit, although it has some great examples. Basic text editing is not inherently hard, as the people here citing “ed”
by iainmerrick 5y ago
I think this overstates the general case a bit, although it has some great examples.
Basic text editing is not inherently hard, as the people here citing “ed” point out. Even text editing left-to-right ASCII in mouse-driven WYSIWYG style is not too hard -- I’ve done it, for old Mac apps where there was no good reusable OS widget, and it was tough but tractable.
What is incredibly hard is supporting editing in many different scripts. I think it’s hard for two reasons. First, there’s inherently just a lot of ground to cover -- multiple scripts, multiple encodings, multiple text directions, contextual rendering, emoji. Second, you can’t cleanly separate it into layers, as text input, text selection and text rendering all impact each other (I love the example of Chinese text input messing with vim’s command mode).
If you could just find a way to keep those layers separate it would go back to tough-but-tractable. But from a user’s perspective, having the layers mixed up is (arguably) what makes it easy to use! You don’t need to switch back and forth between different modes to do stuff, it’s all just WYSIWYG. (Although what with emoji selector popups and the like it’s not actually perfectly modeless, like it can be in the left-to-right 8-bit encoding case.)