tags:

views:

1206

answers:

13

I'm always looking for ways to be more productive, and I've been reading a lot about typing using a Dvorak keyboard.

It looks like this would be much more productive for writing normal prose, but what about for programming?

I'm skeptical that it would be effective, since the use of semicolons, colons, brackets, and ampersands are much more common in programming than they are in every day typing.

Has anyone had any experience with this?

+3  A: 

The purpose of the Dvorak keyboard is to prevent strain on the hands by keeping the most typed letters on the home row, at least for English. I highly doubt this would help with programming in any significant way due to the speed at which code is written. I always think about what I write as I write it, and variable names are never completely conforming to standard English. In fact, I would not be surprised if the letter frequencies in a typical file of source code varies dramatically from established English letter frequencies.

If you suffer from something like Carpal Tunnel, Dvorak may help alleviate that. I'd have to say that the Dvorak keyboard probably helps with regular writing and typing far more than with programming.

AlbertoPL
A: 

Well any keyboard can be appropriate for programming. It just would matter if you find it comfortable for typing because it breaks your way of typing with QWERTY.

On a side note, this keyboard would be awful for left-handed people such as myself.

Daniel A. White
Except for the left-handed Dvorak ;)
samoz
Is there such a thing?
Daniel A. White
Because QWERTY is so much better for left-handed people? Dvorak, AFAIK, is also designed to spread the workload evenly on both hands, so being right- or left-handed should not matter.
Adriano Varoli Piazza
It looks like it has more dominate stuff on the right hand.
Daniel A. White
Yh, vwls rn't frqntl sd. Seriously, Dvorak did quite a bit of studying to create the layout, he didn't say 'it looks like this is more efficient'.
Adriano Varoli Piazza
A: 

Similar to the previous answer - any keyboard layout can be appropriate if that is what you feel comfortable with and can work efficiently with. Dvorak could always be a possiblity if you're interested in it - why don't you give it a try? I'm sure you can find an old keyboard to switch a few keys around on.

Worst case scenario: you revert back to qwerty. :)

Link

Daniel May
The worst case scenario you point out is a bit simplistic. It took me a couple of weeks to learn Dvorak, and during it, I was less productive. It paid off, and I wasn't working at the time, but not many people can just shrug off 2 weeks of lost productivity at their job.
Adriano Varoli Piazza
I don't see how this can directly effect productivity - For me, at least, switching to a new keyboard layout is not going to have a massively detrimental effect on my logical thinking of how I'm going to get around the next bug set.Perhaps for people in report style-job where you are constantly typing without too much of a break - I can understand your point.I take what you said on board though, perhaps I was being simplistic in my conclusion.
Daniel May
A: 

Being used to dvorak can be a bit of a problem if you're working in a team or something like that where you type on other peoples computers.

nagnatron
If you use the normal ANSI layout, there's a Dvorak layout integrated with XP, Vista and most normal Linux distros (actually, these come with localized variants, and XP does not). So it's just a matter of enabling the language bar applet.
Adriano Varoli Piazza
+9  A: 

There are Dvorak layouts specifically for programming: http://www.kaufmann.no/roland/dvorak/

Christopher
This is kind of cool. I like it.
AlbertoPL
Dvorak already has the huge con that the rest of the world uses qwerty, now if we start using modifications of dvorak too.. It's even worse! :)
Andreas Bonini
+5  A: 

QWERTY and Dvorak keyboard layouts were designed for typing text not code.

You can try layouts for typing code like this one: Programmer Dvorak Keyboard Layout

Nick D
Programmers use lots of keyboard shortcuts. Many keyboard shortcuts are easier on Qwerty than Dvorak. For example, cut, copy and paste - ctrl+x, ctrl+c, ctrl+v.
Andrew Bainbridge
Just remembered why I found this is such a problem. Often, I tend to have my right hand on the cursor keys and the left hand doing the keyboard shortcuts. Lots of programs seem to be designed for this, with a strong bias towards shortcuts for left hand only. On Dvorak the shortcuts get all mixed up and many of them end up requiring two hands. Since users are all different though, maybe you won't find this to be a problem.
Andrew Bainbridge
many shortcuts have alternatives. Perhaps I'm old-school guy because I use ctrl+Ins, shift+Ins instead of ctrl+c, ctrl+v :-)
Nick D
A: 

How typing faster can lead to be a more productive programmer? Do you work in COBOL? ;-)

piotrsz
For me it's not so much about the 'faster', but about the 'easier on the hands'. My wrists are much better now. And, plus, I do use all 9 fingers now (I was self-taught on Qwerty).
Adriano Varoli Piazza
9 fingers? what am I missing?
elcuco
You usually only use one of the thumbs to press the spacebar (I use the left thumb, for example).
Adriano Varoli Piazza
A: 

I use a Dvorak-es layout -optimized for the frequency of letters in the Spanish language- both for programming and typing, and the special keys (){}[]<>/* etc. are the same in this and Qwerty.

If you're doing the switch to Dvorak, perhaps it would pay to design your own "Programmer's Dvorak" layout with the standard QWERTY positions for these keys. At least on Windows you could use the MS Keyboard Layout creator to do this.

Adriano Varoli Piazza
+7  A: 

A couple years back when I was starting to feel some pain in my wrists, I decided to learn how to type on a Dvorak layout. (Side note: I found it extremely simple to learn the layout using a qwerty keyboard while looking at an image of a Dvorak keyboard at the bottom of my screen)

The only programming difference primarily was that the square brackets and curly braces swapped positions with the minus and plus buttons above them. Depending on what language you're using and how heavily you're using those keys, that can be annoying; but then again, maybe your IDE will automatically insert those where appropriate. Or, you could use a program like AutoHotkey to map another key combination to those symbols.

Here's the thing with typing in Dvorak: (IMHO) you need to go all Dvorak or all qwerty, particularly if you heavily rely on keyboard shortcuts throughout all of your computing sessions.

My situation is that I use Vim very frequently both at work and at home. At my last job, computers were shared between multiple idiots people, and I could not reasonably expect other users to know how to switch out of Dvorak. I had to "re-learn" the muscle memory for Vim commands.

It's extremely easy for me to switch back and forth on the fly between qwerty and Dvorak for simple text, but (and maybe it's just me) all my known keyboard shortcuts are muscle memory. So a :w in Vim on qwerty ends up as a S,, and a I# to comment a line ends up as C#, instead replacing the whole line with just a pound symbol. And you can just forget about hjkl to navigate in Vim - instead of pressing keys on the homerow, now you have to press the equivalent of jcvp. Oh, you want to copy-cut-paste with one hand? xcv have now moved to bi. instead, so have fun reaching all over the keyboard. New tab in Firefox? You were just typing in Dvorak, so you hit ctrl-t, but the keyboard is actually in qwerty mode, so you just ctrl-k to jump to the web search bar.

One of the other low points of Dvorak is the awkward 30-60 second explanation if a coworker needs to use your computer for a moment.

So I'm very sad to say that after about 4 years of typing primarily in Dvorak, I have to type in qwerty now because it is simply unnecessarily difficult to switch back and forth between modes and retain my muscle memory of my keyboard shortcuts.

On the other hand, there is some Vim work-around support for Dvorak, so maybe today would be a good day for me to get back on the Dvorak wagon. And I suppose if somebody were feeling particularly ambitious, he could set up an AHK script to remap normal/shifted keys from qwerty to Dvorak, but just pass through the qwerty keys when ctrl/alt were held. Seems like it would be a lot of work for very little payoff, though.

To recap:

  • Dvorak is great for RSI
  • Switching between qwerty and Dvorak is easy for typing, horrible for keyboard shortcuts and other muscle memory
  • Dvorak can be a large hassle to use at work, depending on your work environment

I sincerely hope this gives you some more direction on the decision of whether to go Dvorak.

Mark Rushakoff
+2  A: 

You may want to consider the colemak layout. from the faq:

Programming languages make heavy use of punctuation symbols. Colemak keeps almost all of the punctuation keys in their QWERTY positions to ease the transition from QWERTY. It depends on what programming languages you use, variable naming conventions (CamelCase vs. underscores) and what editor you use. In the end it's a matter of personal preference. You'd might want to remap the AltGr sequences to punctuation symbols you use often.

anthony
+1. Never heard of Colemak, but they hit a few sweet spots about Dvorak in that FAQ, especially with the pinky-reaching. And a Vim remapping?! And Linux support?!! I'm definitely trying this out. On the "social" side of keyboard layouts, Colemak can't be worse than Dvorak in any way, and if it's better on the physical strain side... We might have a winner here.
Mark Rushakoff
+5  A: 
Andreas Bonini
+2  A: 

Didn't see this mentioned, so I thought I'd add this: I'm using the Dvorak layout on a QWERTY keyboard, with QWERTY command key layout. Means every time I press the command button (I'm on a Mac), the QWERTY layout applies. So I'm typing completely "blindfolded" with the Dvorak layout, but I didn't have to re-learn the keyboard shortcuts. Has worked great so far for the last 4 years and I wouldn't change back to QWERTY.

The only downside of this is when using VIM, but nowadays I mostly use vim only for simple things, e.g. modifying config files over SSH.

Pascal
A: 

I've been using Dvorak for more than 1.5 years. The reason of using Dvorak layout is not the speed, but the comfort itself. You think more than you type code. I code mostly using emacs, however, I'm not using default keybinding. Since emacs is relatively highly customisable, I use Ergoemacs keybindings. It really helps me to code in emacs, while retaining my Dvorak comfort without jumping here and there when I want to do an emacs operation which mostly done using key combination.

Didiet