My professor always says "recognition is easier than recall". In other words, fill-in-the-blank is easier when the pool of answers is provided at the bottom of the page.
So, why is it that with code, "recognition is a lot harder than recall." Copying code is a lot harder than sending code. It's not just me - it's an understood thing. Now, how does that make sense?
Stages of comprehension
They say that in learning code, the skill comes in steps. First, you learn the letters one at a time. Each letter has a certain sound, a certain rhythm that makes it unique. After you learn each letter, you learn to distinguish groups of letters (words). Then, with many years of experience, some people are able to send and receive groups of words as whole ideas, rather than conceiving of them as letters or words. At that point, they say that it is more like you are directly sharing your thoughts and the medium is totally forgotten. That's speeds over 50 and 100 wpm, I think. That is fast. It must be fascinating to be able to communicate like that.
Committing to memory
When I try to memorize something, I have to purposefully commit it to memory. Whenever I do that, it feels like I am in a wrestling match with the "knowledge". It's me and the knowledge staring each other down. Then, I pounce! Tackle! Hold the knowledge down for the count! And if I do that and hold the thought long enough in my active memory, it will stick. (Usually, anyway.) Is this a common phenomenon, or am I a really strange person?