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

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.




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

Search: