Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
Programming

Does Typing Speed Really Matter For Programmers? 545

theodp writes "I can't take slow typists seriously as programmers,' wrote Coding Horror's Jeff Atwood last fall. 'When was the last time you saw a hunt-and-peck pianist?' Atwood's rant prompted John Cook to investigate just how important it is to be able to type quickly. 'Learning to type well is a good investment for those who are physically able to do so,' concludes Cook, 'but it's not that important. Once you reach moderate proficiency, improving your speed will not improve your productivity much. If a novelist writing 1000 words per day were able to type infinitely fast, he or she could save maybe an hour per day.' At 150 WPM, notes Cook, the world's fastest typist was still only 10x faster than Stephen Hawking."
This discussion has been archived. No new comments can be posted.

Does Typing Speed Really Matter For Programmers?

Comments Filter:
  • by Shados ( 741919 ) on Saturday December 25, 2010 @05:35PM (#34666988)

    Except in Java with all the tools you have at your disposal, if you're typing 1/2 or even 1/3 of the code you're writing, you're doing it wrong.

  • Fast Well (Score:3, Interesting)

    by AmericanInKiev ( 453362 ) on Saturday December 25, 2010 @05:36PM (#34666994) Homepage

    I'm a programmer, and I think I type very well; much better in fact than people who can touch type - but not because I type faster. The way I type does not requires me to bend my wrists; i've gotten pretty fast without stressing my wrists, while people I know have been forced into an early retirement because they can no longer type.

    The first rule of typing should be: DO NO HARM,.

    after that, suit yourself.

  • How Absurd (Score:5, Interesting)

    by eldavojohn ( 898314 ) * <eldavojohn@noSpAM.gmail.com> on Saturday December 25, 2010 @05:37PM (#34666998) Journal

    'I can't take slow typists seriously as programmers,' wrote Coding Horror's Jeff Atwood last fall. 'When was the last time you saw a hunt-and-peck pianist?'

    When was the last time you ran a program where the WPM of the developer affected the quality of the code? Because the frequency of and careful regularity and emotion seriously affects piano performances whereas the symbols per minute inputted by a developer is independent of the speed, quality or maintainability of software. Sure, you might put forth that they can produce much more code or much more comments but let's face it: I'll take quality over quantity in regards to code any day of the week.

    A short simple anecdote was my Greek professor in college. Taught me pattern recognition and I went to his office hours where he was pecking away at the keyboard having just been forced onto English QWERTY. The old man still wrote some pretty badass pattern recognition algorithms in Matlab for the course. Might have taken him all week to peck them out while looking at some recently published papers but the stuff was pretty efficient and easy to read for Matlab. I took him pretty seriously.

    At my high school, in order to take advanced placement computer science courses, you had to pass some WPM typing course. Rarely have I felt a course to be such a complete waste of time and genuinely a turnoff to people looking to study programming.

  • Yes, and no... (Score:5, Interesting)

    by MoeDrippins ( 769977 ) on Saturday December 25, 2010 @05:55PM (#34667092)

    Of course it matters. Sometimes. Your 'rate of creation' is simply the min(rate_of_typing, rate_of_thought). If you can type faster than you are currently thinking/creating/"solutionizing" then no, it doesn't matter, and there are a lot of times during code creation where this is the case; you need time to noodle, try things out, think about a solution, need some time. But, there are times where you know EXACTLY what you want the code to do/be/look like, and those times your typing speed can be the bottleneck, and there are a lot of times during code creation where THIS is the case too.

  • The answer is "No" (Score:5, Interesting)

    by BitHive ( 578094 ) on Saturday December 25, 2010 @06:05PM (#34667130) Homepage

    Any reasonably intelligent person should be able to find the flaws in Atwood's analogies and synthesize several decent counter-arguments by themselves. The notion is ridiculous on its face and if the quality of this guy's analogies is any indication of his mental acuity then I'm surprised anyone reads his blog at all. I'm not sure why such a laughably flawed statement should prompt anything but derision, but Slashdot being what it is today, I suppose it is the right place for such a discussion to take place.

  • Re:How Absurd (Score:4, Interesting)

    by Jamu ( 852752 ) on Saturday December 25, 2010 @06:40PM (#34667308)
    I touchtype and largely agree. However, every now and again it's nice to be able to punch in code fluidly. It means I spend more time thinking about what I'm coding. It probably doesn't matter much professionally: The productivity gains are marginal. But if, like me, you enjoy coding, being able to touchtype makes coding more of a pleasure.
  • Re:How Absurd (Score:5, Interesting)

    by TheRaven64 ( 641858 ) on Saturday December 25, 2010 @07:04PM (#34667422) Journal
    The problem is that slow typists try to avoid doing much typing. This means that they avoid things like detailed comments and meaningful symbol names. To a quick typist, there's little extra cost in giving something a long name - they're spending more time thinking than typing anyway - and there's a huge benefit in terms of readability. A slow typist will be bottlenecked by typing speed, so will give things shorter names to improve throughput at the expense of readability. Someone who types quickly thinks very little of writing a few lines of documentation at the start of each function and of providing comments with full sentences explaining why various approaches were chosen. Someone who types slowly regards this as a chore, and usually skips it.
  • Re:How Absurd (Score:4, Interesting)

    by professionalfurryele ( 877225 ) on Saturday December 25, 2010 @07:06PM (#34667438)

    You are completely correct, it's completely absurd, especially in specialised disciplines. You know how you can tell when I'm programming? I'm sat in the office with my feet up throwing a ball in the air. Thinking.

  • by Opportunist ( 166417 ) on Saturday December 25, 2010 @07:20PM (#34667500)

    1) I'm not from the US. My native keyboard contains no æøåÆØÅ but instead öäüÖÄÜ and I raise by an ß. May I still play? Btw, we use QWERTZ instead of QEWRTY, just to make things more interesting. And I'm kinda sure that your standardization bureaucracy found a neat way to substitute those æøåÆØÅ characters like we did with oe for ö and ue for ü, etc. It's hardly impossible to emulate those characters without having an ASCII-table crib sheet.

    2) Of course I do know where all the symbols are on my native keyboard layout. I learned typing and also programming using one. And yes, with the more recent Windows and Linux versions it became easier to actually switch between layouts, which is why I do now definitely recommend switching to a US layout for programming, since it is trivially easy to switch to and fro between "programming" and "writing" mode.

    If you read my post again without the implicit imagination that I'm trying to press for some US-centric keyboard layout imperialism, you might notice that I wanted to show that it becomes heaps easier to program using a US keyboard layout, and you don't break your fingers every time you're supposed to type { or }, or pretty much anything else you need for "normal computer operation". Oh, btw, on my native keyboard, the backslash is AltGr-ß. What's more irritating even is that @ is AltGr-q. Do you know how irritating it can be to accidentally hit AltGr-Tab instead on a Windows machine? Compare that to the fairly uncomplicated handling on a US keyboard.

    Makes sense now?

  • Re:How Absurd (Score:4, Interesting)

    by sconeu ( 64226 ) on Saturday December 25, 2010 @08:50PM (#34667840) Homepage Journal

    But once you've thought about what you want, it helps to be able to touch type instead of hunt&peck. It lets you follow the path that much more smoothly.

    I'd say though, that it's not so much typing speed as much as the ability to touch type, no matter how fast, that matters.

  • by Hooya ( 518216 ) on Sunday December 26, 2010 @01:06AM (#34668688) Homepage

    > why should I care about the verbosity?

    one word. maintainance.

    typical code spends less than 10% time in development. the rest in production and maintenance. IDE (or a tool, as in RoR) generated code is still code that has to be maintained. the more code you have, the more bugs you have and the more shit you have to wade through to find your bugs.

    Also, if something like an IDE can generate the code, isn't that by definition 'boilerplate'? if it's boilerplate, why couldn't it be part of the language itself?

    compare and contrast the @synthesize in ObjC with the getters/setters in java. Sure, in java the IDE generates those for me. but I still have to wade through those in the source code to find the method I actually wrote. Couldn't java just implement some default implementation for getters/setters through some annotation? a la POJO annotations for EJB - compare that to the XML mess that was there before.

    that's just one example.

    to me, if i'm copying and pasting code anywhere, i'm doing it wrong (code duplication, bug duplication and what's worse, fixing one part doesn't mean i've found and fixed all the same bugs). but java just begs copy and paste. sure there are great tools (Netbeans, Eclipse) to help mitigate that - but that's just it - all the tools are still mitigating a shitty language.

    i'm not a language purist either. over however many years i've been doing this, i've found that there are some languages that let me express my thoughts quickly, concisely and elegantly whereby i don't even have to step through code in a debugger to see where i messed up - it just becomes obvious on re-reading the code. java is not one of those languages.

The Tao is like a glob pattern: used but never used up. It is like the extern void: filled with infinite possibilities.

Working...