Live data from Hacker News

Programming's Dirtiest Little Secret

steve-yegge.blogspot.com

61–70 of 106 posts

Re: Programming's Dirtiest Little Secret

#62
post #10
post #5

Earlier quoted context omitted.

What's your definition of "not touch typing"? Do you use two fingers? Do you keep your fingers on the home row?

I think he means looking at the keyboard as he types. I can see how that can help a person type faster, makes sense to me.

Forgive the neuroscience buff here, but I disagree.

By looking at the keyboard, you're relying on vision to direct motor actions and detect errors (fingers in wrong positions, etc.). This requires the involvement of association cortex in, I believe, the parietal lobe, to integrate vision, somatosensory (i.e, touch), proprioception (i.e, body position) stimuli. The end result is that typing speed is limited by the processing speed of the cortex.

On the contrary, pure touch typing does not involve vision. Somatosensation and proprioception can be integrated in the hindbrain and spinal cord, and so touch typing can be done almost exclusively there, with only goal-oriented, "type this word" input from the cortex. Vision comes in later to detect errors, but because it is not in the loop, touch typing is not limited by it.

Re: Programming's Dirtiest Little Secret

#63

Hmmm. I want to hear from some great programmers who are often here on HN. Do you guys type quickly? Paul Graham and Patrick Collison, are you speed typists? How about Ryan Davis and Jey Kottalam? Suggest some more great hackers, too.

I can't speak for them, but I've been able to type at ~80WPM for 20 years, since about age 10. I took Pascal and C in college 12 years ago, but to this day I'm a borderline useless scripter.when tasks call for a bit of Perl, Ruby, automated bash, or whatever.

Re: Programming's Dirtiest Little Secret

#64
post #58

Earlier quoted context omitted.

I think the secret is that those who type slow are picking up speed by being hasty in their code decisions. I'm skeptical, since far more development time is spent thinking about what to do than in banging out text to implement it. And maybe some faster typists just emit more bad, buggy code.

It may depend on your style. I know some programmers who can just construct a complete function in their head during thinking. For them, typing is just a mechanical step to dump the code into a computer. You know, those who claim they can code with cat >foo.c. If you're one of them, probably typing speed doesn't matter much, since it is not the major part of development. I'm more like an oil-painter. I have to put so…

> I know some programmers who can just construct a complete function in their head during thinking.

This is interesting. What level of detail do they go into? Most people should be able to do this at a simple level. The fastest example is probably a wrapper function: you probably know 100% what you intend to type before hitting the first key.

If you are making a bigger function that has intermediate variables, naming the variables properly becomes an exercise in itself. When these programmers do a "code dump" from their brains to the keyboard, are all the variables named already? Do they use placeholder names then replace them? Do they first write the algorithmic parts then do the naming?

Re: Programming's Dirtiest Little Secret

#65
post #30
post #22

Earlier quoted context omitted.

I find that when I'm doing Java, I'm not thinking or typing as much as I am hitting ctrl-space for the IDE to autocomplete superLongMethodNamesFactoryStubHome(). In Ruby, it seems I think and type in equal parts.

I remapped my Escape key to a more convenient place on my keyboard (it's a thumb key now); as a result, when I write Ruby code in TextMate, half of it appears virtually instantaneously. The downside? Sometimes accidentally pressing Escape when typing anywhere else. D'oh!

I keep threatening to get two foot pedals. One for CTRL and one for ESC. I think it would give me vim superpowers.

Re: Programming's Dirtiest Little Secret

#68
post #30

Earlier quoted context omitted.

I remapped my Escape key to a more convenient place on my keyboard (it's a thumb key now); as a result, when I write Ruby code in TextMate, half of it appears virtually instantaneously. The downside? Sometimes accidentally pressing Escape when typing anywhere else. D'oh!

I keep threatening to get two foot pedals. One for CTRL and one for ESC. I think it would give me vim superpowers.

That's the best idea I've ever heard.

Re: Programming's Dirtiest Little Secret

#69
post #13

If Steve Yegge typed slower, I wouldn't have to read as much.

I just skipped down to the bolded text. Took about 10 seconds. I'm sure he had something else important to say. Maybe?

Ironically, he also said this:

"You'd be absolutely astonishedly flabbergasted at how many programmers don't know how to READ. I'm dead serious. You can learn to speed read even faster than you can learn to type, and yet there are tons of programmers out there who are unable to even skim this blog. They try, but unlike speed readers, these folks don't actually pick up the content."

Re: Programming's Dirtiest Little Secret

#70

Earlier quoted context omitted.

I just skipped down to the bolded text. Took about 10 seconds. I'm sure he had something else important to say. Maybe?

Ironically, he also said this: "You'd be absolutely astonishedly flabbergasted at how many programmers don't know how to READ. I'm dead serious. You can learn to speed read even faster than you can learn to type, and yet there are tons of programmers out there who are unable to even skim this blog. They try, but unlike speed readers, these folks don't actually pick up the content."

I wonder if he had anything to say about people who wrote rambling, long articles?

Heck, I'm one of 'em!

Post reply on HN