Is Typing A Necessity For Programming?

Jeff Atwood stresses on the importance of typing for programming. Though I whole heartedly agree for myself, this issue can be as personal as religion.

I was pretty much a two-finger typist when I started my professional programming career. Productivity through typing was a non-issue. However, it did become a pain when I had to work on a Unisys A Series machine programming in Algol. What was the difference? Not the platform or the language, it was the tools. The IDEs provide features like intellisense that compensate for lack of typing skills. Or so I thought!

After learning touch typing, I realized that smooth typing only helped me program smoother. I have also started to remember more, and rely lesser and lesser on intellisense. I was faster with touch typing than with tools which helped me type. I now like my good old vim, as a clutter-free and fast environment on multiple platforms, to program. As Jeff says, I now spend lesser time in expressing my thoughts into code.

However, I have met those who use their IDEs and such tools so efficiently that typing is not necessary for them. I do not know if they will be more productive with touch typing. Afterall it is not that helpful when you type two alphabets, wait for a second and then use tab to type the word. And then again, typing a programming language is a lot different than typing a natural language, which is where the touch typing is geared at. And you guessed right, unlike Jeff or me, they do not think there is much common in programming and writing.

Though I think touch typing helps me program better, I cannot say the same for you. It will depend on your personal inclination as a programmer. The point is about speed and productivity.

Discussion [Participate or Link]

  1. Andrew said:

    I think of it in the same way as driving to the supermarket. If you can’t drive you have to plan your way there and back and you might have to forget about things that are time sensitive like ice cream.

    When you can drive though you can forget all that and just concentrate on the shopping list and the ideal ingredients.

  2. Spinning Guyro: Don't Program With Two Fingers said:

    […] In his recent post, Abhijit Nadgouda of ifacethoughts argues that touch typing is not a necessity for programming. […]

  3. Honour Chick said:

    u need typing if u wanna program faster 🙁

  4. Emiliano Jordan said:

    Fast typing isn’t necessary… But it helps increase productivity. I think being organized meticulous and an accurate typer is more important than speed.

  5. Robert said:

    From just the article title, I thought you meant “typing” as in data typing. Strong typing for example.
    I was just about to read your article, get all riled up that you think it’s so necessary and type out some emotionally filled comment about how “Strong typing isn’t everything it’s cracked up to be”

    As for typing for data entry on the keyboard, aye, important 🙂

    But since I’ve been working with computers for 22+ years, I’m pretty good just because I’ve been doing it so long 😉

  6. Jacob from JobMob said:

    I took classic touch typing when I was in high school in the ’90s. By ‘classic’, I mean that it was based on a course from the ’70s, where the idea was for a secretary to look at eg. a handwritten letter on the right while transcribing it into a typewriter. I was above 50 wpm when I finished the 3-week course.

    When I started programming, my speed slowed for a number of reasons, one of which that I needed to be looking at the screen and not away as I’d been taught. That said, the touch typing helped me program faster, hands-down. But I grew up with emacs.

    Today’s IDE users, while having cheat sheets of keyb shortcuts to use, are more likely to use a mouse and type less. Touch typing can always come in handy such as for email and docs but it won’t be critical for everyone.

    Just another tool in the box that people can use. Some will, some won’t.

  7. Mike said:

    I’ve just started to teach myself proper touch-typing using all fingers. I could type reasonably fast before and didn’t need to look at the keyboard much, but I was only using maybe four fingers. I’m on day five now and I can do 20 wpm in Ktouch using ten fingers and not looking at the keyboard at all. I’ve been surprised at how quickly I could pick it up.

    The only trouble is that the very beginning was slow going and felt like someone had rewired the nerves that go from my spine to my fingers. At the same time it felt like the ‘right thing’ to do, and I really couldn’t go back either. I started learning on a whim really, in the middle of quite an important project, and for a couple of days it was as if being stuck between the old and the new, unable to type at all. Not a reassuring feeling. A few good sessions with Ktouch seem to have got me over that. The speed is rather quickly getting back up to what it was with four fingers and hopefully beyond.

  8. Abhijit Nadgouda said:

    Thanks for the comments.

    Robert, sorry for the confusion. I too realized it, so I tagged it as touch-typing 🙂 I wish I had changed the title as well.

    I agree that typing can help speed you up, although I am not sure it is true for everyone. I have found the bliss after I learnt touch typing, but that is perhaps I use the tools that call for them. To an extent I dislike most of the IDEs because of their load. Touch typing + faster editors is much better. But that is true for me. As I said in the post, I have seen some programmers who are very quick because of their tools, and not necessarily typing.

  9. Howard Flomberg said:

    Harrumph: I survived 30+ years as a Mainframe COBOL developer. I still type with three fingers.

  10. NatalieMac said:

    Touch-typing (called ‘keyboarding’ when I took it) was hands-down the most useful class I took in high school. I guess there are plenty of people to say that they program successfully and efficiently without being able to type, but I can’t imagine – I get so frustrated with IDE’s trying to complete my code for me – it slows me down so much – I’d rather just type everything myself.

Say your thought!

If you want to use HTML you can use these tags: <a>, <em>, <strong>, <abbr>, <code>, <blockquote>. Closing the tags will be appreciated as this site uses valid XHTML.



Abhijit Nadgouda
iface Consulting
+91 9819820312
My bookmarks


This is the weblog of Abhijit Nadgouda where he writes down his thoughts on software development and related topics. You are invited to subscribe to the feed to stay updated or check out more subscription options. Or you can choose to browse by one of the topics.