I’ve been using Dvorak(alternative of QWERTY) for 6 months by now and here are my personal pros and cons of Dvorak as a programmer.
When I first got hang of Dvorak, it felt really weird not to move my wrists, realizing how frantically I had been moving my wrists for the entire time. Most of the Dvorak newcomers have the same experience. One reason for it is that the most used keys are concentrated in home row, the most accesible area on the keyboard.
Dvorak maximizes the alternation of your hands and fingers. It benefits in many ways. One of wich is that it naturally results in much faster typing. But typing speed doesn’t really matter to programmers unless your brain is so fast it always know what to type next. What matters most is that programmers type repetitve words all the time that can be only typed with one hand, e.g,
var. It fails to evenly distribute fatigue to both hands and it’s bad for your wrists in the long term (one of my programmer friend have had tunnel at the age of 26). On the other hand, in Dvorak the strokes are well distributed and less motions are required hence less fatigue and risks.
For me, it took less than 2 weeks to get used to Dvorak after the lifetime of QWERTY. If I can do it, you can do it, probably much faster. It’s just like getting used to terminal editors like vim or emacs. It’s confusing at first, but it becomes 2nd nature quickly.
If you are a Python user who respects PEP8, or anyone who would use
_ a lot, you would definitely enjoy the key's new location, which is where
" is in QWERTY.
It doesn’t bother me anymore but it did at first. Shortcuts changes like this in Dvorak:
So what I used to do was use
Dvorak + QWERTY Command key layout in MacOS. It enables QWERTY while I’m holding Command key so I can use Command shortcuts like I’m using QWERTY. But I eventually had to go full Dvorak because there were some issues like:
- It doesn’t affect all editors e.g. Visual Studio 2019 for Mac.
- It doesn’t work on other assistant keys like
optionso it’s useless in terminal.
So I got familiar to the new shorcuts all over again. It landed on my nature quickly that I had been using it for a while. Once I got used to the Dvorak shortcuts I could not feel any shortcomings compared to QWERTY... except that the
v is right next to
w so I sometimes accidentally close a tab instead of pasting something.
You still have to use QWERTY shortcuts and punctuations when you are in other langage key layout. It's very confusing especially when you are going back and forth between multiple languages. For example, sometimes I forget that I'm on Dvorak and try to cut & paste something pressing
Cmd+x and quit the entire program because
q is where
x is supposed to be...
Such accidents are something you have to cope with.
When I was first learning Dvorak I thought I could go back and forth to QWERTY like a bilingual, but I was wrong. You forget QWERTY once you are adapted to Dvorak for the first time! It takes practice to bring QWERTY back to your muscle memory again. I know it sounds crazy. How could you forget something you’ve been doing for a lifetime? It was mind blowing when I first found out myself being completely unable to type english in QWERTY.
Here’s my story. I once had to take a upcoming test. The test was taken on a dedicated computer so I had to use QWERTY. I thought I was fully prepared for the test so I wasn’t worried at all until I decided to take a mock test a week before the actual test and find out that I forgot how to type. I practiced QWERTY over the entire week and finally could type in QWERTY just fast enough to take a test.
After that I've been able to use QWERTY casually but still not as fluently as I used to be. I only use selective machines set into my personal preferences so it’s not an issune for me but I know it is to many other people. Think carefully. If you get to inevitably use QWERTY a lot, then you should not use Dvorak.
Dvorak is relaxing and comfortable for your physicality and easier to learn than one might think. But it can mix up the shortcuts and punctuations when you have to go back and forth between QWERTY.