Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

This is a cousin to the question Programming with Speech Recognition for Typing Instead of the Keyboard:

I program in Visual Studio 2010, and I find that programming takes a much greater toll on my hands than typing text does. I attribute this to (1) the extensive use of punctuation and other characters away from the home row, and (2) the extensive use of multi-key command such as Ctrl+Shift+B.

So a question in three stages:

  1. What programming language is "easiest" to type? BASIC? COBOL?
  2. What editor/IDE is easiest (from a typing standpoint) for the edit/compile/execute roundtrip (and perhaps debugging)?
  3. Is there a combined solution that's powerful enough to create, say, a web application?

Ideally I'd like to hear about ideas for completely mouse-free solutions, compatible with (say) a one-handed chording keyboard.

share|improve this question
the easiest to type would have to be whitespace. I mean, you only need 3 keys :P Seriously though, I have to ask what languages you currently use. –  Trezoid May 25 '11 at 0:59
@Trezoid - excellent suggestion! Meet me on GitHub, and we'll start work on the whitespace IDE and web stack. I currently use C# and C++ -- it has occurred to me that ruby and python might be a good direction. –  user26082 May 25 '11 at 1:34
you're obviously joking, but this language actually exists. It's called (of course) Whitespace. –  Rein Henrichs May 25 '11 at 3:31
Put a piece of tape on weird keys. Every time you hit them - blink twice. That will save you from tendinitis and will make your eyes last longer.. –  Job May 25 '11 at 4:30

4 Answers 4

If you are not attached to the QWERTY keyboard, you could consider trying out Colemak or Dvorak layout. Both have ardent users reporting excellent improvements in typing speed and decrease on the strains caused on the hands.

Since you mention an IDE, you might want to consider Vim or Emacs (or any equivalent) where you can make a set of repeated keyboard hits a macro. If you find yourself pressing the down arrow or up arrow many times, you could make a macro to let you press one key and move, say, 3 or 4 lines at a time. I know for sure Emacs can help you do this out of the box. Vim should not be far behind if it is behind. Both are popular for helping users totally avoid mouse usage. Both have a learning curve that easily puts off the faint hearted ones. Those who cross the initial stages keep climbing all the time, but these stages are not as steep.

A combination of one of these IDEs and one of these keyboard layouts can result in lot less strain on your hands, while totally avoiding having to use the mouse. There could be a need to use the modifier keys. But the strain on the hands will be far less to negligible with tremendous improvements in speed.

share|improve this answer
with vim you can type a number followed by the arrow key to jump that number in that direction (line or column) –  Trezoid May 25 '11 at 2:02
I was using that for an example. The key sequence could be anything as wild as key1-key2-key3-key4-key5. And, if this is repeated often, a macro can be made, in Emacs. I don't use Vim that often, so I wouldn't know to make a similar macro there, but I believe it should be possible. –  vpit3833 May 25 '11 at 2:06
As a developer that uses dvorak, I wouldn't necessarily recommend it. While I think it really is amazing for normal typing, it may be worse for many of the commonly used programming characters ();[]{} because that's not what it was designed to to. –  WuHoUnited May 25 '11 at 3:20
I did not know about Dvorak with programming. I have started to use Colemak with programming. So far, having Caps Lock work as Backspace, and four vowels in the home row mean I stretch out hands very less and, when using modifier keys, both my hands are at work, meaning no hand is overloaded with pressing all the keys at the same time. My bad, I assumed similar things might be true in Dvorak too. –  vpit3833 May 25 '11 at 5:36

Either you get weird combo keys or you use the mouse, at least this is the current practical way. I stay mouse free most of the times, this means I buy a great soft touch / ergonomic keyboard + table setting that offers wrist/elbow support.

I have seen people try and program with pianos!, but I personally don't find it practical. And fwiw, I type way faster than I speak or write, so there goes any trick other than mind reading.

share|improve this answer

Get a better keyboard. I use a Kinesis Contoured keyboard, and swap backspace/control and delete/alt, putting control and alt conveniently under my left thumb. No more stretching for those shortcuts. I use Emacs, and Eclipse with the Mulgasoft Emacs+ bindings, so I type a lot of control and alt shortcuts, and have no problems. Without the Kinesis or something similar, I couldn't work.

share|improve this answer

I switched to python from perl several years ago, when RSI was starting to limit me. I didn't switch for that reason, but I found after switching that, when coding in python, I could do 80 hours a week without pain, when in perl I was down to about 20 and in pain.

The difference is in punctuation: Any c-based syntax, with lots of curly braces, parens, and semicolons, is going to keep you roaming around the keyboard, off the home row much of the time. Perl makes that even worse by requiring that you dive for the top row and shift key every time you want to type a variable name.

Python, on the other hand, with its notorious indent-based syntax, is wonderful for staying on the home row. And you can read your own code a year after you write it as well. ;-)

I also swapped the <Enter> and <Caps Lock> keys (using xmodmap, on Linux), and I always put the mouse on the left side of the keyboard. Those two things together balanced the load a lot better between left and right hand. For an editor, I've used vim and vi for decades, which reduces the pointy-clicky activity a great deal. The Windows version of vim is gvim. Vim's not an IDE, unless you start adding any of the optional scripts from vim.org.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.