Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I believe that corresponds with comfortable familiarity with and proper use of one's tools.

I view a non-touch-typing hacker/coder much like a carpenter who drives nails using a hammer's handle. (The inevitable reaction from both camps: Hey, what's your problem? I'm using my tools to get the job done!)



Typing ability is an effect rather than a cause of hacking ability.

It's not so that you can type code quickly. The bottleneck in coding is always the thinking time, or you're using an overly verbose language.

Typing is important because hackers communicate with one another using a keyboard. I've worked with programmers who couldn't type quickly enough to have a comfortable conversation over IM. It's torture.

If you can't type, it's probably because you're not communicating enough. Hacking is not a solitary activity, and it's mostly not coding.


Not sure I'm comfortable in that analogy.

If the carpenter who used the hammer handle only had to drive one nail instead of the regular fifty, then that might be totally worthwhile (Naturally, this would never be the case for carpentry, but it certainly is for coding).


Both cases describe a person who has not learned how to properly use the most basic tool for their profession.

How could that be excused?


Because I don't think typing is the most basic tool - It's abstract thought.


Only as far as the carpenter's is knowing where the nail goes.


Not sure I can really argue against the analogy - because you can take it anywhere. e.g. A lumberjack can rip through a tree, but a good carpenter can cut a piece of wood so that it uses the grain, there isn't waste, etc, etc. In the context you're working in, being quicker is never as good as getting it right.

You could argue that a carpenters output is limited by their use of tools. If they can't nail or saw fast enough then no amount of carpentry imagination is going to help.

What I'm saying is that I don't think this is the case for typing and coding. A coder could type quickly and produce reams and reams of really bad code - this is happening every day. Another coder could type 1 wpm and still produce something of immense value every day.


"A coder could type quickly and produce reams and reams of really bad code - this is happening every day. Another coder could type 1 wpm and still produce something of immense value every day."

Huh, ok. Now, if you take the 1 wpm programmer that produces great code and teach him to type 50 wpm, what happens?

I claim there is no programmer in this world who wouldn't end up more productive (be it by a small or huge margin) if he learned to type faster. And given the ridiculously small ratio of effort to rewards at the lower stages (say, below 50wpm), saying it's not worth the effort is like saying buying more RAM or disk-space or bandwidth is not cost-effective today.


A good hacker can drive in 1000 nails with one blow.


I think your use of the word "basic" is amusing. I would agree that the most important tool is abstract thought, but it is not the most basic.


Depends on your definition of basic - can use it to mean "simple", but it's also used to describe something fundamental, irreducible or essential.


Yes, agreed. The play on words was amusing to me (odd sense of humor alert!) It seems there is a lot of ambiguity between the way you and the GP used the word.

Though, this topic got me thinking. Unless you are using speech to text, I think that how you interface with the computer is fundamental to the act of programming. I do not think that abstraction is essential to programming. Much to the chagrin of my abstraction-loving nature, consistent procedural code can be easy to read and follow. For higher-order OOP, an understanding of abstraction and encapsulation is very necessary.




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: