back

by padolsey·12y ago·view on hn ↗
Nice UI! For programmers trying to improve their general typing speed I reckon it could help, but for me it creates an almost uncanny experience.

In the JS test I found it incredibly difficult to type out `/^(?:parents|prev(?:Until|All))/`, because my mind interprets it somewhat like its AST -- i.e. I see a delimited regular expression with an uncaptured group nested within another uncaptured group. I focus on the operators then on the contents. But by the time I've done this I end up typing it out slower than if I was just transcribing character by character. And so I started to wonder if this is something it's "okay" to be bad at...? I mean, if I focused on it character by character, word by word, then I may gain speed, but I would be totally ignoring the meaning of the characters -- and I would also stop being a programmer.

Maybe my mind just needs to become more attuned to reading code... maybe this experience reveals that I do not read code often enough. Intriguing.

3 comments
I was thinking all of these things too as I was trying it. I think there is something fundamentally wrong about this. I don't think the words per minute for a programmer's typing is important. As you say, to get the higher score, you must simply type as you read character by character, but this is not what programmers do. I don't see much value in this because of that. If our jobs were to transcribe code that someone had written out by hand then this might be something worth its disk space. If we find code that we want to copy exactly without trying to understand its meaning, we have a clipboard for that.
i also had this thought, but i realized the value in this is not necessarily understanding the code that you're typing but rather getting better at typing characters in context and in certain sequences. for instance, i realized that i am terrible at typing } and ], but i assume that's because i have an IDE that does autocomplete for those chars. other typing programs i've used are just transcribing sentences, but in programming there are so many other characters we use in the middle of typing things.
I wonder what things would look like if they were to let you type, free-form, and not consider it complete until your code matched that of the sample. That way, you could use copy and paste, or bang things out and then fix them later rather than in-line. (e.g., let me type keywords and then later realize I forgot a 'self' in a Python method.)

Probably less about typing, then, though.