Zain's blog

By Zain, history, 5 years ago, In English

After about 5 years of programming, I finally noticed that programmers type blindly!!!! I am so sad that my training all these years went without the perfect benefit. Yes, I can type the most used words in my codes very fast, but I make many mistakes because I do it without fixed reference.

Anyway, now I decided to train typing again in professional way this time. I saw that the most used scheme in typing in general is this:

It is very perfect. But I found that it is very hard for programming, because the right little finger is responsible for huge number (about 22) of characters (i.e 0-=p[];'\/)_+{}:"|? and R-shift and R-ctrl and enter and backspace) and all of theme are used in programming too much. I need advice from who program fast and blindly, please does this scheme work for coding ????!!!! if not, how to code fast and blindly ?????

I know that there are informal ways and I can type fast with them especially with repeated codes and I actually have one. But in my opinion you will always make errors with these ways if you want to type blindly because the fingers are not fixed-placed but adapted with every word randomly. What is the perfect way to type fast with zero errors ?

  • Vote: I like it
  • +67
  • Vote: I do not like it

| Write comment?
»
5 years ago, # |
  Vote: I like it +3 Vote: I do not like it

It works. But I would say 4 is handled by the left middle finger, 1 is handled by the left ring finger, 7 is handled by right middle finger, 0 handled by right ring finger, minus and equals are both handled by right ring finger.

  • »
    »
    5 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    0, — and = by right ring finger ?? can this be done blindly ? they are far.

»
5 years ago, # |
  Vote: I like it +13 Vote: I do not like it

It works but with slight modification, that I don't use R-ctrl and R-shift. Enter and Backspace is handled equally by other fingers, as we have to move most part of hand dealing with them and most of times ),},] are autocompleted

  • »
    »
    5 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    in case of "autocomplete", either you must press the ending bracket or you need to press "--> arrow key", I think it is also a problem because it moves your entire hand.

    • »
      »
      »
      5 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      I prefer arrow key, cause I have a laptop keyboard, where arrow key is even closer than R-Ctrl in normal keyboards. If u don't like this, u could use the arrow keys on the num side, with advantage of having access to home and end keys, If that uses Ur entire hand to move, U could maybe prefer insert Mode in VIM, which one did u find the best?

  • »
    »
    5 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Yup, using only L-ctrl and L-shift is the only unusual thing I recommend, compared to the standard scheme. But even if you must move a hand, still the right little finger will be closest to Enter and Backspace, so I don't see a reason to move a hand even further to the right to use some other finger.

    And I agree with riadwaw from below: it doesn't matter anyway.

    • »
      »
      »
      5 years ago, # ^ |
      Rev. 2   Vote: I like it 0 Vote: I do not like it

      So, do you use the right little finger for these 0-=p[];'\/)_+{}:"|? ? I agree with you and Alex, and I actually type fast the way I code all my previous time because I memorized the words, but I make many errors because my fingers are not fixed-placing. But I see from screencasts that you can you manage to make zero errors with high speed (it is absolutely not with 2-fingers). I am searching for this way to use it.

      • »
        »
        »
        »
        5 years ago, # ^ |
          Vote: I like it 0 Vote: I do not like it

        Force yourself for that "fixed-placing" and after a few months you will type faster (or same but more accurately).

        Btw. actually, it might be better for you right now to type a bit slower, but without errors — because then you must stop and think even a little bit what to correct.

        • »
          »
          »
          »
          »
          5 years ago, # ^ |
            Vote: I like it 0 Vote: I do not like it

          So, are you advicing me to keep my way I typed all my previous training (Which is random and I think each word has its own scheme) and try to minimizing errors instead of learning this standard scheme ?

          Can I ask you, which way do you use ?

          • »
            »
            »
            »
            »
            »
            5 years ago, # ^ |
              Vote: I like it +8 Vote: I do not like it

            No. I said what I recommend, and this is what I use. Standard scheme, only L-ctrl and L-shift, accuracy more important than speed.

»
5 years ago, # |
Rev. 2   Vote: I like it 0 Vote: I do not like it

It works but you have to train well and try to code blindly and time after time you will type without even thinking about your fingers and keyboard! you will feel your fingers moving alone! :)

Two years ago I started typing on this website https://www.goodtyping.com to learn how to place my fingers on the keyboard and the keys I type with every finger and now I can type about 90 WPM :) https://10fastfingers.com/share-badge/1_CN

Sorry for my poor English :(

  • »
    »
    5 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    What about the characters for coding ? Do you do all of these ( 0-=p[];'\/)_+{}:"|? and R-shift and R-ctrl and enter and backspace ) by the right little finger ???????

»
5 years ago, # |
  Vote: I like it 0 Vote: I do not like it

I use: thumbs, pointer-fingers, middles-fingers.

I find it weird to use index and pinky fingers (especially pinky fingers, ew)

With only 3/5 of the fingers in use I can type around 100 WPM when focused (and highs 80s casually).

Before I started competitive programming (I still coded, just not contests) maybe it was 40 WPM normally. So I would say solving a lot of problems you will naturally find your typing style (e.g maybe you can throw the pinky altogether, as often you use many of the same characters frequently when coding)

  • »
    »
    5 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Do you do the "80s" in codes ( with these ( 0-=p[];'\/)_+{}:"|? ) )??? and blindly ? do you make errors when you type ? ( because if the keys are far from the finger I think that there is no way to type perfectly because if one finger responsible for many keys, the probability to do errors become higher )

    • »
      »
      »
      5 years ago, # ^ |
      Rev. 2   Vote: I like it 0 Vote: I do not like it

      I didn't learn some specific method and if I try to actively do it I cannot, it is like a bunch of memorized routines. But I did observe some things.

      1) I do "80s" in code, mostly because some routines are memorized (e.g i write for loops very fast) but only on my computer. I'm a bit slower on other computers and I cannot code on my phone with any speed whatsoever.

      2) I do it blind but when I started had to look a bit

      3) Usually my hands do not stay in one position, so the "one finger is responsible for these keys" don't really apply. For example my left thumb is responsible for the space bar usually but when I want to, say, DO CAPS LOCK suddenly my right pointer finger is responsible for the space bar. (because now the left thumb is stuck on shift)

      It's actually cool because I never noticed these things before, I just kind of learned to type fast by typing a lot.

  • »
    »
    5 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    I use that method too and get around 70 wpm normally. I think the "standard" typing method is kind of overrated.

    • »
      »
      »
      5 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      The standard method is not overrated at all. Why use 6 fingers when you can use all 10? It provides for more reach and speed.

      • »
        »
        »
        »
        5 years ago, # ^ |
          Vote: I like it 0 Vote: I do not like it

        I really agree with you, and I believe that especially in typing normal language. But when I see in code-typing that the little finger is responsible for many main keys, I just wondered if really we can adapt our little finger to do them or there are another better ways to solve this problem !!!

        I just wanted to know if anyone has adapted his little finger to do them, so I can continue training.

      • »
        »
        »
        »
        5 years ago, # ^ |
          Vote: I like it 0 Vote: I do not like it

        Well, I'm pretty happy with my speed (although I'll never be as fast as someone using the standard method for sure) and don't think investing time in learning the standard method is worth it at this point. And anyway I get more gains from improving my knowledge, not my typing speed.

»
5 years ago, # |
  Vote: I like it +42 Vote: I do not like it

I think 2 fingers is enough to type as fast as you think unless you are searching for each letter instead of knowing where it is.

  • »
    »
    5 years ago, # ^ |
    Rev. 2   Vote: I like it 0 Vote: I do not like it

    I know, but I do many errors. I just want a normal fast way but, without errors (i.e I can type the most used words in codes very fast (because of the huge number of times coding) if my hand is placed correctly, but if not the word will be typed biased ex. instead of int --> ubt). I think every informal way has the same problem, but I found from the screencast of lgm coders that they do not do any one error.

  • »
    »
    5 years ago, # ^ |
      Vote: I like it -15 Vote: I do not like it

    for slow thinkers I recommend to code with just one finger!

»
5 years ago, # |
  Vote: I like it 0 Vote: I do not like it

I see the coders in screencasts type very fast with zero errors. What is this way ? I think all informal ways have a probability of errors. if one finger is responsible for many keys, I have to match every key with very precise move ? Is this really the perfect way ?

  • »
    »
    5 years ago, # ^ |
      Vote: I like it +13 Vote: I do not like it

    yes, you have to be precise, otherwise you will be imprecise and that means you will have errors...

»
5 years ago, # |
  Vote: I like it 0 Vote: I do not like it

Auto comment: topic has been updated by Zain (previous revision, new revision, compare).

»
5 years ago, # |
  Vote: I like it 0 Vote: I do not like it

I type using two index fingers for letters and numbers, thumb for space bar and annular finger for backspace. I type fast enough ONLY if I know beforehamd what I must type

»
5 years ago, # |
  Vote: I like it +13 Vote: I do not like it

I feel like if you were to measure the effect and try optimizing it by Amdahl's law, it wouldn't amount to much :D

Unpopular opinion (well maybe):

I feel like splitting your function to number of functions with long name each, where their name easily explain what they are doing, and using auto-complete to call them on, will have better effect on your programming time then learning how to type faster and without mistakes.

But as almost everybody here use Vim like editor, I'm guessing most won't agree...

»
5 years ago, # |
  Vote: I like it 0 Vote: I do not like it

Actually I often use right pointer fingers to type spaces and those weird commas...