Posted
by
CowboyNeal
on Thursday April 27, 2006 @10:13PM
from the look-ma-no-keys dept.

Yetihehe writes "New Scientist is reporting about a new speech recognition tool that promises to let programmers write clean code without ever having to lay a finger on their keyboard. 'The tool, called VoiceCode, has been developed to help programmers with repetitive strain injury (RSI). This is a common affliction for people who spend a lot of time using a keyboard or mouse and causes pain in muscles, tendons and nerves in a sufferer's arms and back. Some estimates suggest 22% of all US computer programmers, or 100,000 people, suffer from the condition.'"

"'The tool, called VoiceCode, has been developed to help programmers with repetitive strain injury (RSI). This is a common affliction for people who spend a lot of time using a keyboard or mouse and causes pain in muscles, tendons and nerves in a sufferer's arms and back."

And now vocal cords. Now imagine this sytem in say a team environment. Everyone talking at once.

Next thing you know, software development will be hazardous to your tongue and mouth in general.

Seriously though, I noticed that when I type, I express my thoughts in a more clear fashion than when I talk. I think this is because I am not distracted by the sound of my own voice. I can think faster than I type but not necessarily faster than I talk:)

I don't know about anyone else but my code never really gets translated in my head to English or any spoken form and doing so would seriously effect my coding. When I'm in groove, I'm thinking machine not human.

I've actually played around with this idea. What you really need is voice, combined with keyboard and mouse and you really could improve speed of coding. With the lookahead that most IDE editors support these days, it's pretty easy to do symbol lookups which could be adapted to voice.

The real trick is with symbol names; variable names, method names, class names, etc. The problem is that these are not necessarily words that will be easily adapted to spoken voice, which is made significantly worse with hungarian notation.

But if you dump hungarian notation and use descriptive variable, method and class names (which is probably a good programming practice anyway), then you can probably get by pretty well.

And the programmers of this software didnt get RSI why? Its easy to avoid RSI. It seems like voice recognition software to help sufferers of RSI get back to work is tantamount to putting an ambulance at the bottom of a cliff instead of a big sign at the top that says, "DONT WALK OFF THE CLIFF"

Am I the only code monkey that advocates writing out at least most of your code with pen{pencil/marker} and paper? It doesn't seem to cause as many repetative injuries, but perhaps I am incorrect in that assumption.

On a personal note: I've made my boss howl with laughter by informing him that I was on version 7 of the code related to one small project, but before I touched the keyboard I'd written out most of the changes on paper. It was even better when I showed him the scrap paper I'd been snagging from the recycling bins to do my design work on. I thought coffee was going to shoot out his nose; never had trouble getting a pay raise or vacation time from him since:)

When I mentored a couple of young co-op programmers they, at first, thought this practice was very crazy, but after they saw the benefits of having to thinking your code through while writing it out they started to follow this practice though not as drastically as I do.

I'm not sure I'd trust a system like this for a language like C, C++ or Java with its icky grammar full of parentheses, braces, commas and other types of pointless noise. But it might be nice with languages from the ML family such as Haskell where the main bit of syntactic 'glue' is simply white space. Haskell code is pretty compact too, in the sense that there's less to type per 'concept' that you want to express, so it's ideal for coding when your input rate is less than optimal.