5 ms·
Ask HN: How viable is it for a programmer to switch to a DVORAK keyboard layout?
I'm currently typing at a speed where I can physically feel that the layout of my keyboard is slowing me down. I've played with the idea of switching to DVORAK in the past, but the fears of major slowdown has kept me back.
Is the initial slowdown worth the long time gain?
- mrduncan 17y agoNot to be snarky but I'm curious what you're doing that you need extremely fast typing for? I rarely find that typing is my bottleneck, it's usually my brain. That said, why not give it a shot for a day or two? At worst, you'll realize it is going to take forever to regain speed - at best, you're well on your way to using the new layout.
- jrgnsd 17y agoIt sometimes happen, not often, that my brain needs spurts of speed from my hands, and it's then that I notice that particularly my left hand holds me back. I've taken DVORAK under consideration as it's partly designed to detangle the left hand. I'm not sure that a valid comparison / assessment can be made after a day or two's use.
- mrduncan 17y agoFair enough, I should have first stated that I've never tried DVORAK (so take my advice with a block of salt). What about giving it a week then? I suppose my point was that you won't know how hard it is until you give it a shot for a little while. People all learn differently, the only way to know is to just give it a shot.
- DanielStraight 17y agoObligatory Yegge link on typing: http://steve-yegge.blogspot.com/2008/09/programmings-dirtiest-little-secret.html http://steve-yegge.blogspot.com/2008/09/programmings-dirties... Typing is definitely the bottleneck for me in some situations, especially when I'm prototyping something, and I can hit 100 wpm without too much difficulty. As for giving it a several day test drive, I don't think that's going to help at all. The point is that once you know dvorak it is faster than qwerty. It would probably take a least of month of dvorak to be able to make a reasonable evaluation.
- mbrubeck 17y agoI type about 3x faster* than some of my co-workers, and I can tell when I'm working with them that it does make a difference. They don't even try do to exploratory programming. In cases where I would just write some throwaway code for an experiment, or turn to a REPL session to answer a question in a few seconds, they start leafing through documentation or Googling for someone else who knows the answer. I write and re-write code while I'm thinking; once they start writing they are unwilling to change their minds mid-stream. Even in normal "batch" programming, it means that instead of 5 minutes of thought followed by 1 minute of typing, they have 5 minutes of thought followed by 3 minutes of typing - so they take longer to resume their stream of thought, and spend slightly less time thinking overall. *I type about 60wpm which is not especially fast, it's just that I work with some people who are not touch-typists.
- DavidSJ 17y agoI'm about 115 WPM on QWERTY. I learned Dvorak about four years ago and got to about 80 WPM. If I kept going I think I would have eventually slightly surpassed my QWERTY speed. However, what I found was Dvorak is designed for English; it predates programming. Most programming languages are designed with QWERTY in mind. I think Dvorak made that harder, not easier.
- jules 17y agoCheck out Colemak. I don't think I type much faster with Colemak but it's much more comfortable.
- numeromancer 17y agoI started using dvorak some years ago. I have since switched back. I don't think it helped my speed or my hands, and there were too many other costs which made it not worth while: having to set it up every time you reload your OS or start a VM, or change window managers, etc; it made the vi editor unusable, and while I mostly use emacs the ubiquity of vi makes it inevitable; using other computers in the lab became difficult, because they are shared with other people who used querty; it sometimes confused some programs and made them unusable; and so on. I don't think there is a long-term gain to be had. Read http://reason.com/archives/1996/06/01/typing-errors http://reason.com/archives/1996/06/01/typing-errors for an account of the qwerty myth.
- jules 17y agoI use Colemak and I can still touch type on qwerty (but slower and with more errors). There is a Colemak mode for Vim and for Emacs keyboard layout doesn't really matter.
- macco 17y agoAs alternative do DVORAK you could use the NEO-Layout it has a third modifier for parenthesis an that stuff. But I think is it very dangerous to use a different keyboard layout. I used NEO quite a time and I got a bit faster than on qwertz. but sometimes i had to use other computers than mine and i this moments I were doomed. I had to use two fingers with looking on the keyboard. That was my reason to switch back.
- SlyShy 17y agoAs DavidSJ noted, typing in Dvorak doesn't make programming any easier. However, there are newer generations of Dvorak such as Programmer's Dvorak (http://en.wikipedia.org/wiki/Dvorak_Simplified_Keyboard#Programmer_Dvorak http://en.wikipedia.org/wiki/Dvorak_Simplified_Keyboard#Prog...) that attempt to make it easier. I've been using plain Dvorak, because I didn't learn about the alternatives in time. I don't think the switch has made much difference either way. Oddly enough, the change that has caused the greatest increase in typing speed for me was starting to use my netbook keyboard. Most people will find this insane, but the smaller keyboard decreases finger travel, so as long as your fingers are small enough to continue typing with precision it ends up being a plus. I think it's pretty meaningless to worry about typing speed being a productivity problem while programming. I can type at 120 wpm, but only 85 wpm while typing composed English, and about 35 wpm typing code. It's much more about brain latency. :)
- shrughes 17y agoYou're not going to type faster with the Dvorak layout. Maybe piano lessons would be a better use of time than Dvorak practice. The layout is better for programming, though, so I recommend learning it. Underscore and hyphen are in the perfect place, and having the comma and period keys on the upper row is nicer for the hands. Dvorak is a lot better for Emacs, too, if only because C-x stretches out the hand instead of scrunching it up. I've become ignorant of the benefits of Qwerty, though. For some period of time, I got annoyed by the positioning of Ctrl+C and Ctrl+V, but eventually I just got used to using two hands for those commands. That's the one specific lingering annoyance that I can think of.
- wglb 17y agoInsofar as the C-x stretches the hand, this depends on the keyboard. I have a Kinesis contoured keyboard, and that chord is one finger closer together than the reach on a conventional keyboard.
- jrockway 17y agoThere is a reason your keyboard has two Control keys; exactly to avoid the awkwardness of combinations like C-x.
- hyyypr 17y agoMy HHKB only got one :) And Vim tends to minimize C-x gymnastics.
- jrockway 17y agoI also have a HHKB. It does technically have only one control key, but how often do you use the right Windows key? I just remapped it... (And if you're a vim user, you remapped the big control key to ESC, right?)
- arundelo 17y agoYes! Speaking of which, anyone happen to know how (in X and at the Linux console) to make both my Alt keys act like Alt keys instead of one being AltGr?
- Terhorst 17y agoI started using Dvorak out of curiosity more than anything. I've been using it for close to 4 years now, and I haven't noticed any speed gains. It's inconvenient to use other peoples' computers; although, this is offset a bit by the amusement value of watching others try to use my machine. The claims about ergonomics may be valid. My hands move a lot less when using Dvorak, but I can't speak as to whether the chances of RSI are reduced in any way by this, or if it provides any kind of relief. Programming-wise, I haven't had any problems. The biggest concern there is that you might not be able to type for the first week or two. Unless you have some significant reason to do so, I don't think I would recommend switching myself. I didn't see any significant gains, but your mileage may vary.
- lincolnq 17y agoChange keyboard layouts if you have ergo problems, like I did. Don't change for speed; you won't gain any. If you are finding that your keyboard is slowing you down while you code, though, consider changing your tools -- get a new programming language, or a new IDE. A concise language like Haskell requires very little typing, but you end up thinking about each line for a long time. If you're using Java with a plain text editor, consider switching to Eclipse; I find that Eclipse ends up entering about a third of the code that I author.
- jrockway 17y agoI have found that Haskell requires a fair bit of typing. As with other interactive languages like Common Lisp, you don't get much of a break between typing in the code and learning that it's wrong. This is different from Java where you type for a while (like you're writing prose; "public static void main" is a good-sized sentence that is required but doesn't actually even do anything), and then you run your unit tests which takes 10 seconds or something. While you are waiting, you have nothing to do, and get a free typing break. Basically, a different set of problems. Typing needs to be comfortable and efficient no matter what languages or tools you choose.
- StudyAnimal 17y agoI used it for about 3 years, and it sped me up greatly when writing text, as in large blocks of English language text, it didn't help with programming at all. However before that I was only ever a 5 finger Qwerty typist, the speed gain from Dvorak came from forcing me to touch type properly. 2 things made me abandon dvorak and switch back to qwerty. Keyboard shortcuts. I never got the hang of mentally mapping between individual keys, so I when I had to push a Ctrl-X for example, I would have to stop and think for too long trying to work out which one X is. The other thing was pair programming, was a pain switching back and forth when grabbing and relinquishing the keyboard. Sometimes pair programming meets enough resistance as it is without my stupid keyboard layout adding to it. Another bonus, is that with qwerty you can work single handed, and e.g. hold the baby or eat or use the mouse or whatever. So right now I am back to my 5 finger qwerty, its slower for example for things like this message, but the bulk of what I do is just typing in little bits of text and source code here and there so the speed loss is acceptable. If I were typing in large blocks of English text for a living I would switch back to dvorak, but for a programmer qwerty is better. Actually, if you are one of those programmers that use the mouse to use menu items, and never use shortcuts, you might be ok with dvorak.
- 27182818284 17y agoIt took me about two weeks to learn it well enough to where I could instant message my friends comfortably. I didn't notice any speed-up from the switch. I did seem to notice less stress on my fingers after a full day. Eventually I had to switch off of it because I found oscillating between QWERTY and Dvorak keyboards (for example home vs work vs friend vs lab) was annoying.
- collision 17y agoAs others have said, the major benefit of Dvorak isn't speed -- it's comfort. Your fingers do a lot less work typing Dvorak than QWERTY.
- jcdreads 17y agoYes: I switched about 14 years ago. It took me about three (frustrating) weeks until my Dvorak speed caught up to my querty speed---it isn't noticeably faster for me---but my wrist and hand pain completely disappeared after about a week. Furthermore, if you actually switch back even for a few minutes once a week or so, your Qwerty typing won't atrophy much at all. However, I wouldn't bother switching unless you're pretty sure that you're going to be spending several hours a day typing, and mostly on the same small number of computers. Reconfiguring any modern computer back and forth between Qwerty and Dvorak is easy, but it's completely maddening for anyone with whom you share a computer.
- pmjordan 17y agoI'm using a type-II (German) Dvorak with some custom modifications that map [({<})]> to Alt Gr+homerow (Linux)/Alt+homerow (Mac) and the caps lock key to Alt Gr and Alt, respectively. I switched for ergonomics (big improvement, no RSI pain at all) not speed; if my speed has improved, it's probably not by much, but then I don't think I've ever wished for faster typing speed.
- mkeblx 17y agoI just use the 0 and 1 keys and have my IDE convert to corresponding character every 8 keypresses. This way I don't have to move my fingers around at all and only need two fingers. It's a minor speedup and lets most of your fingers rest all day.
- Apreche 17y agoDon't listen to the DVORAK people. All the things they say are just FUD with no scientific studies to back them up. There is no real evidence that it is better in terms of ergonomics or speed. If you do switch to DVORAK, you will have lots of inconvenience because the world is QWERTY. The very real advantages of sticking with the world standard greatly outweigh any imaginary advantages of changing layout. Your best bet is to just get a better keyboard, physically speaking.
- fadmmatt 17y agoNo studies? http://www.dvorak-keyboards.com/Dvorak_vs_qwerty_keyboard_tests.htm http://www.dvorak-keyboards.com/Dvorak_vs_qwerty_keyboard_te... Remember: A study need not be published in a journal and well-typeset to be scientific.
- plinkplonk 17y ago"Remember: A study need not be published in a journal and well-typeset to be scientific." Even better, as programmers we can write scripts to compare layouts and calculate whatever statistics we want to. aAfew years ago, contemplating the switch to Dvorak (not really to optimize typing efficiency, I was getting twinges in my wrists and the doc said they were early warning signs of RSI) I wrote a ruby script to compare a given body of text against both Dvorak and Qwerty layouts and then I ran it against a few years of code I had on my machine. The Dvorak layout showed a significant decrease in amount of finger movement, especially movement off the home row. Good enough for me. It took me about a month to get back to my original typing speed. I don't have to use other people's computers often so it works for me. my 2 cents. (oh yeah no more wrist pain. fwiw)
- richardw 17y agoI'd be wildly surprised if you could prove that your fingers move the same amount using both keyboards. You'll note my answer above (below, whatever :) says "depends". If you move machines a lot, bad idea. If you do a huge amount of keyboard work on your own machine, good idea. There's no one answer, but it really made sense for me.
- 17y ago
- fadmmatt 17y agoIn my experience, yes. I switched to Dvorak a couple years ago, and I've been glad I did. I used to have terrible pain in my wrists and forearms. For eliminating pain, switching to Dvorak was as effective as switching to an expensive ergonomic keyboard. I went cold turkey, so I felt like a stroke patient for the first four days. It was a very awkward and frustrating feeling. Within a week, I could type fast enough to code. (Coding doesn't require a fast typing speed.) It took about two weeks to get back to email/IM speed. I'm probably not as fast as I was at QWERTY (110 wpm -> 90 wpm), but I'm certainly fast enough. If I do 15 years on Dvorak, I'll probably reach 110 wpm again. I'd recommend doing an hour of typing exercises each day, and napping after each exercise to let it sink in. Each time I woke up from a nap, I was much better at the exercise from before the nap. I wrote up my experience on my blog if you're interested: http://matt.might.net/articles/preventing-and-managing-rsi/ http://matt.might.net/articles/preventing-and-managing-rsi/
- DavidSJ 17y agoI will grant that typing in Dvorak could be a nice "break" from QWERTY for my wrists. On the other hand, I just typed in Dvorak briefly and I've already confused my QWERTY typing. Just going to Dvorak for 3 minutes, after a ~2-3 year hiatus, has temporarily slowed down my QWERTY by ~25%.
- nw 17y agoI began using Dvorak because I heard it could be helpful in reducing RSI symptoms. It took several weeks to become proficient, so I don't recommend learning Dvorak with a big deadline looming. As a programmer, the most frustrating aspect of Dvorak is cut/copy/paste because the X/C/V keys are all over the place. I imagine this would be a problem for hardcore vi users too. The benefit is that my fingers travel less, so typing hurts less.
- richardw 17y agoDepends. I use the "programmer dvorak" layout and it's definitely less finger-work, but you miss a few things. Cut and paste is a bit more of a hassle. I look like an idiot on QWERTY keyboards because I haven't bothered to remember it. You can practice both but it's much easier/faster to just switch. I'm happy with my decision because it's one short decision and affects the rest of my typing life - ie forever. The reduced impact on my fingers and wrists seems worth it.
- mbrubeck 17y agoI switched from Qwerty to Dvorak about 13 years ago, and frankly I don't recommend it. It's not faster, it's only marginally more comfortable, and it's mildly inconvenient. I still type Dvorak, but only because the hassle of switching back is not worth the possible tiny benefit. The initial slowdown lasts only a few weeks if you work on your typing speed. When I first learned Dvorak I lost the ability to touch-type Qwerty, but within the first year I retrained myself and was able to switch back and forth (though I'm still not quite full speed on Qwerty). The only thing I can't do is use Vi keybindings in Qwerty. They seem to be in a different part of my muscle memory, which has never been retrained.
- dkarl 17y agoI switched in 1999, and I agree with mbrubeck. My experience was similar to his, except that I have to look at the keyboard when I type Qwerty and still don't type nearly as fast on Qwerty as I did before switching to Dvorak. Key bindings are the biggest pain point for me. I recently spent some time using the Awesome window manager, and I had to remap a bunch of its key bindings, because they didn't make any sense with a Dvorak layout. I'm sure the default emacs key bindings make less sense to me than they do to a Qwerty typist. I also agree with mbrubeck that using key bindings on a Qwerty keyboard is much harder than just typing. Overall, switching just isn't worth the hassle. In fact, every time the topic comes up, I consider switching back to Qwerty, but I'm too busy to e.an ,cyd yd. ecoypajycrbv
- shaiguitar 17y agoKeep in mind though one thing; If you use the terminal often, you'll be using TAB, and even if you switch to DVORAK you'll still have repetitive action.
- weavejester 17y agoI'd suggest learning Colemak. It requires slightly less finger movement than Dvorak, the layout is more similar to Qwerty, and it's more convenient for typing commands like "ls", which requires two presses of the right little finger in Dvorak. I can touch-type in Dvorak and Qwerty, and I've been meaning to learn Colemak.
- gr366 17y agoI made the switch to Dvorak over a 2-week holiday break just under 10 years ago. I may have eventually boosted my speed marginally, but I can say my hands don't get tired or sore typing for long periods as they did on Qwerty. The only con I've run into is when I have to use somebody else's computer, like during a presentation in a meeting and I end up basically hunting and pecking on Qwerty. I get looks like, "this guy is a developer?" One time when I explained I was a Dvorak keyboardist, a participant asked if I also spoke Esperanto. (I don't.) However, I highly recommend the switch just for the brain-remapping experience. Going through the learning process literally feels like a mental rewiring.
- msluyter 17y agoI think you'll see a wide variety of responses here and the only way to know for yourself is to try it. I used Dvorak for 10 years and it worked fairly well for me, though ctrl-c/v is clumsier because you can't do it with the left hand while mousing with the right. I ended up going back to querty in order to revert to hunt and peck (painful) due to wrist issues. Now I continue with querty on a very low impact keyboard with a "pawing" approach. My typing is slower this way, but it appears that independent finger motion is what does me in.
- zck 17y agoI use Colemak (http://colemak.com/ http://colemak.com/), and I'm up to about 70 WPM (measured at typeracer.com, not anything more scientific). Unfortunately, I did no QWERTY tests before switching, so I can't compare, but I doubt I was significantly higher. I'd recommend it. There are a few modifications I'd make, but overall it's quite nice. They've written programs to check finger travel distance, and it beats QWERTY and Dvorak. A reason to choose it over Dvorak is that it keeps WAZXCVB in the same place, so those common Ctrl-keys are just as easy to press. There's several versions for Windows, including one that can be run off a flash drive, and work without installation (http://colemak.com/Windows http://colemak.com/Windows), and Colemak is also built in to X on Linux. Although depending what you're doing, switching to an alternate keyboard layout can be a problem. For example, if I were a sysadmin, going around to different computers and fixing them, it would be infeasible to switch, unless I put the time in to being able to context-switch my brain quickly, so I could touch-type both.
- mbrubeck 17y agoNice! Though as a vim user I would rather have a layout that messed with zxcv and instead left hjkl alone... (Colemak is especially bad, with J below K.)
- zck 17y agoOuch, that would be a pain to use. All four of them are on the same finger, even! The problem with leaving hjkl where they are is that it wastes a huge amount of prime real estate. In colemak -- as you've seen -- those keys are used for hnei, all commonly typed letters. jkl are much less common.
- mbrubeck 17y agoWell, maybe not leaving them on home row, but keeping them grouped together nearby, maybe on the M,./ keys.
- silentbicycle 17y agoThese posts seem to come up periodically. Search hacker news for 'dvorak'. I've used Dvorak for three years or so. I like it, and it hasn't caused me problems. (FWIW, I use Emacs.) I type 95ish WPM on Qwerty, and haven't cared to time my typing on Dvorak - I type fast enough, either way. I switched as a precaution for RSI (and just to shake up old habits), and the layout feels less awkward than Qwerty. Seriously, ; on the home row? Some people seem to believe that the failure of the Dvorak keyboard proves their economic ideology. Whatever.
- Mathnerd314 17y agoWhich language/IDE are you using?
- mightybyte 17y agoI switched to dvorak 3 or 4 years ago after 15 or so years of touch typing on qwerty. At the time I switched I could type ~120 wpm with qwerty. It took very little time to get up to 60-70 wpm on dvorak. Now, after 3-4 years on dvorak, I can type 90-100 wpm. So my advice is similar to others here. Don't switch for speed. I have never had RSI problems, so I can't comment on that aspect.