Editor Ergonomics [was: Important features for editors]

Steven D'Aprano steve+comp.lang.python at pearwood.info
Fri Jul 12 04:39:18 CEST 2013

On Thu, 11 Jul 2013 09:45:33 -0400, Roy Smith wrote:

> In article <2fdf282e-fd28-4ba3-8c83-aaaace1201ec at googlegroups.com>,
>  jussij at zeusedit.com wrote:
>> On Wednesday, July 10, 2013 2:17:12 PM UTC+10, Xue Fuqiao wrote:
>> > * It is especially handy for selecting and deleting text.
>> When coding I never use a mouse to select text regions or to delete
>> text.
>> These operations I do using just the keyboard.
> For good typists, there is high overhead to getting your hands oriented
> on the keyboard (that's why the F and J keys have little bumps).  So,
> any time you move your hand from the keyboard to the mouse, you pay a
> price.
> The worst thing is to constantly be alternating between mouse actions
> and keyboard actions.  You spend all your time getting your fingers
> hands re-oriented.  That's slow.

Big deal. I am utterly unconvinced that raw typing speed is even close to 
a bottleneck when programming. Data entry and transcribing from (say) 
dictated text, yes. Coding, not unless you are a one-fingered hunt-and-
peek typist. The bottleneck is not typing speed but thinking speed: 
thinking about program design and APIs, thinking about data structures 
and algorithms, debugging, etc.

Programming is normally done in spurts of typing followed by longer 
periods of thinking, testing, debugging. Micro-optimizing for the 
fraction of a second it takes to re-orient your hand on the keyboard is 
silly -- even if it is an optimization, not a pessimization (and I remain 
unconvinced) -- it's utterly trivial. Who cares that you saved 0.1 of a 
second by not moving your hand off the keyboard when you then sit there 
for 20 minutes staring into space thinking about your program design?

Keyboard commands for yanking an entire line beat the mouse, but for 
moving the cursor around to arbitrary positions, or copying arbitrary 
pieces of text, a mouse is much faster. But either way, who cares? Typing 
speed is only rarely the bottleneck, let alone micro-optimizations like 

The difference between a 60 wpm typist and a 90 wpm typist is normally 
that the 90 wpm typist can introduce bugs 50% faster :-) I'm joking, of 
course, but typing *accuracy* is far more important than typing speed.


More information about the Python-list mailing list