In my last blog post, I explored the benefits of switching from the QWERTY to Dvorak keyboard layout. The standard Dvorak layout works well for those who frequently type in English, but what about those who primarily type code? This is where the Programmer Dvorak layout shines.
Beyond Traditional Dvorak
The Programmer Dvorak keyboard layout is the most comfortable and efficient layout for programmers. While the traditional Dvorak layout inherits awkward symbol locations from QWERTY, Programmer Dvorak makes the symbol row more intuitive. The top row of the Programmer Dvorak keyboard layout (seen below) contains brackets and symbols with the numbers typed by holding the Shift key. This is because programmers type symbols much more frequently than numbers when programming. The numbers are also arranged so that odds are on the left and evens are on the right, as in the traditional Dvorak layout.
Like the Dvorak layout, Programmer Dvorak is designed to maximize alternating key presses. This makes typing certain combinations of symbols often used together very fluid. One such example is that of the left and right parenthesis, which you type with the left and right index fingers, respectively. Therefore, to get the most benefit out of the Programmer Dvorak layout, one should also learn and use touch typing. This will not only improve your effectiveness when using any layout but will also potentially save your fingers some pain down the road.
Roland Kaufmann invented Programmer Dvorak in the early 2000s. Kaufmann scanned thousands of lines of source code in languages such as C, Java, Lisp, and CSS, among others, to find the most commonly used constructs. In contrast to traditional Dvorak, the Programmer Dvorak layout stands out in that the symbols of those commonly used constructs are arranged along the top row. Kaufmann made that decision after gathering data from source code in the aforementioned languages. It was also informed by previous research conducted by August Dvorak (creator of the traditional Dvorak layout) on keyboard layout efficiency. The result is a keyboard layout designed specifically for programmers.
Programmer Dvorak is designed with the English language as the starting point. This is due to the fact that English is the lingua franca of programming. Consequently, this has resulted in the development of the vast majority of programming languages in English. Furthermore, there is some consensus for the standardization of code comments in English.
However, as a commenter on my previous post pointed out, there may be better alternative keyboard layouts for those in the non-English speaking world. Despite this fact, this would only apply to those who do most of their daily typing in a language other than English, not for programmers.
Time to Switch
Programmer Dvorak is the most comfortable and intuitive keyboard layout for programmers. Therefore, I recommend making the switch immediately. Many online sites with free lessons will teach you how to touch type. However, I recommend this site, as it caters directly to learners of Programmer Dvorak. If you don’t already use a standard Dvorak layout, first complete the Base Dvorak course. Next, complete lessons 30 through 62. These lessons will introduce you to the keys unique to Programmer Dvorak.
At first, switching will be painful. Rewiring years or even decades of muscle memory takes time. After completing the above lessons, it is best to switch completely and start using the Programmer Dvorak layout in your daily work. With deliberate and consistent practice, it is more than possible to make the switch completely after two weeks. You could reach your previous WPM (Words Per Minute) after a month of practice. In the end, this is a small cost compared to the lifelong benefits of coding with the Programmer Dvorak layout.
Bolster Your Programming Toolkit
Switching to Programmer Dvorak will not make you a better programmer. However, it will make typing code all day easier, and, most importantly, more enjoyable. Furthermore, if you have never learned to touch-type, it may even reduce the risk of strain-related injuries by teaching you proper typing posture. If you are not a programmer, then switching may not be in your best interest. Instead, you would benefit more from adopting a standard Dvorak layout, which does not have as steep a learning curve.