I don't know, but the idea seems incredibly cumbersome to me. (Unless you are handicapped so that you cannot type, maybe).
"public class upper-case E x a m p l e, curly-braces open, newline, public static void main, open parenthesis, upper-case S t r i n g, square-bracket open, square-bracket close, args, close parenthesis, curly-braces open, newline, ..."
I'd type that much quicker than I could say it. And my IDE can write that code much quicker than I can type it: main <Ctrl+J> <Enter>
Hey, I worked with this technology way back in 1989/1990. At that time Dragon Dictate was the latest product and to be fair, after a bit of training, we found that it worked well. It did make mistakes, however after using it for a week or so the accuracy vastly improved. It was also having to cope with our regional English accents (Geordie ;-) ), which must have been quite different from what the American manufacturers had configured the devices for.
Problem was that the whole market got killed off by some bad press, namely a BBC Tomorrows World program which showed the software not working. I recall hearing that the presenter only did ten minutes of vocabulary training just before the program was recorded, and so the demonstration was a disaster. The Beep had refused to let someone else demonstrate. Shame really, as a week later the major UK IT company behind this technology pulled out of the marketplace. I've not worked with this technology since.
In main stream IT, I think people are far to accustomed the keyboards and mouse devices - now touch screens. People just don't like change, but hopefully this technology will improve until it moves out of its current niche markets.
On a ligher note - here's a Scottish voice controlled lift:
I should also say we did try it for programming - we trained it up and used it with Turbo Basic/Pascal and a bit of Borland C. But we thought that its not suitable for developers, who by the nature of their work, can already type quickly. Also all the punctuation is far easier with the keyboard. It may be of use for one of the "code grinder" languages - but not for Java, C++ and the like...
I had a co-worker who used Dragon Dictate back in the early 90's to code while we was recovering from RSI. It was cumbersome, but possible. We were writing in BLISS at the time.
Trivia: I was one of the developers on the first version of Dragon Naturally Speaking. I don't know how much of my code has survived through the years, but that will always be a job that I'll be very proud of.
I injured my hand the day before Thanksgiving and tried out the built-in speech recognition in OS X and was very impressed. It's far more accurate than the recognition on my Android phone or iPhone.
I would imagine coding using it would be fairly tedious. Maybe a specialized coding dictionary (as opposed to Standard Human $LANGUAGE) and compiler feedback would make it easier to dictate code?
Joe, I don't have a Mac so I cannot try that but it might be a nice excuse to buy one!
Bear, thanks for the information and the history. I know at least one local university that uses Dragon for employees that have hand issues but the employees are not programmers they are administrative workers.
Peter ,thanks for the information on what you tried . I like the elevator!
The other thing I wonder about is how much voice does it take for the software to work well? I am not a loud speaker and my voice wears out quickly on long phone calls, say over 30 minutes. I could see my talking limits becoming an issue if I tried to speak constantly over a long period of time. Would the software still work once I had laringitis . . . I doubt it.
I saw Dragon in action today. I was at the doctor's office and the PA was using a touchscreen Thinkpad with Dragon installed on it to fill in information on the results of the exam. He had a big hand held mic that he dictated into. It seemed that he was using Dragon to dictate the parts of the report with the complicated medical terminology.
It would be an interesting thing to try. I read an article earlier today that said voice recognition is about 80% accurate for 'state of the art' and that it benefits much when used in word processing situations where the word processor can fix the detection based on the surrounding grammar. The article also predicted 90% accuracy by the end of 2014.
For programming, though, the rate may be different, a lot of what would be said would not be dictionary words - variables, function names, syntax... I have no experience with it, but it seems like you would be spelling out a lot of things (getLocalStores as a method name would probably come out as get local stores and would either need correction or explicit spelling to fix... I would guess it would be tedious.)
Is the problem with your writing hand? Are there digital pens or stylus that can translate to text and work in your IDE of choice? For example, Windows 7 has a handwriting recognition app (see http://www.youtube.com/watch?v=6B8QjVK6Rig), match that with a Bamboo or Wacom stylus and tablet input and you might have a solution... not sure of the relative cost of the stylus and tablet versus good voice input though. Just another idea to consider.
I have problems in both hands. Writing with a pen or stylus is harder than using a keyboard. Surgery can address a good part of the issues but the downtime for rehab is three to six months per hand. A few times in the last three years I have had to rest one or the other hand for a month or so. Once I had to stop using both hands. It is amazing how slow it is to work on a computer one handed. So strange to have to actually look at the keyboard. Keyboard combinations that I do quickly without thinking that require simultaneous keys, i.e. caps or symbols in passwords, ctrl + alt + tabs to call control windows, fn + f? key combinations , become efforts when having to make those combinations one-handed.