not having to pay attention to the keyboard, your fingers should know what do without taking up mindspace
Yes, this is a critical skill. Especially when someone is learning programming, it is so sad to see their thinking interrupted all the time by things like: “when do I find the ‘&’ key on my keyboard?”, and when the key is finally found, they already forgot what they wanted to write.
your typing being able to keep up with your thinking
This part is already helped by many development environments, where you just write a few symbols and press Ctrl+space or something, and it completes the phrase. But this helps only with long words, not with symbols.
It’s not the top speed, it’s the overhead. It is incredibly irritating to type slowly or make typos when you’re working with a REPL or shell and are tweaking and retrying multiple times: you want to be thinking about your code and all the tiny niggling details, and not about your typing or typos.
Regarding touch-typing, do you find yourself reaching ‘top speed’ often while programming?
It’s not really about typing large amounts of text quickly, it’s basically about
(1) not having to pay attention to the keyboard, your fingers should know what do without taking up mindspace; and
(2) your typing being able to keep up with your thinking—the less your brain has to stop and wait for fingers to catch up, the better.
Yes, this is a critical skill. Especially when someone is learning programming, it is so sad to see their thinking interrupted all the time by things like: “when do I find the ‘&’ key on my keyboard?”, and when the key is finally found, they already forgot what they wanted to write.
This part is already helped by many development environments, where you just write a few symbols and press Ctrl+space or something, and it completes the phrase. But this helps only with long words, not with symbols.
It’s not the top speed, it’s the overhead. It is incredibly irritating to type slowly or make typos when you’re working with a REPL or shell and are tweaking and retrying multiple times: you want to be thinking about your code and all the tiny niggling details, and not about your typing or typos.