Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×

Software Lets Programmers Code Hands-free 261

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.'"
This discussion has been archived. No new comments can be posted.

Software Lets Programmers Code Hands-free

Comments Filter:
  • by foundme ( 897346 ) on Thursday April 27, 2006 @11:14PM (#15218291) Homepage
    If a programer has to say if-then as many times as he types, no doubt his mouth is going to get RSI.

    Many people thought obesity is caused by junk food, but in reality is caused by having too much junk food.

    So the best way to prevent RSI is to work out a reasonable and healthy work schedule that prevents such excessive usage.
    • Think of it this way: instead of excercise or changing of work habits, you can try and get this introduced into the work place as a 'reasonable accomodation' for your medical condition (RSI).

      Sure, your productivity is going to drop, but I don't think that's something your boss could fire you over, since they agreed to this accomodation.
      • So it's better off to work for the same work-hours at reduced productivity, than to have a 10-15min break every hour (reduced work-hours) with the normal productivity?

        Personally, I think it's still better off even to have reduced work-hours and reduced productivity, than having to stay in front of the mic all day.
    • In fact, computer use has been shown in studies not to be a major risk factor for carpal tunnel. Here's one article [sciencedaily.com] from a quick google search.

      I can also personally confirm these claims. I worked in a bus factory for a couple summers and my hands would continually go to sleep at night after my 9 hours at the factory. Yet I have never had a problem from coding, even with weeks of 11-12 hour days.

      Also, beyond all the other problems people have pointed out with using speech as input, it also interferes with
      • Just for the record, RSI != carpal tunnel syndrome

        I have occasional problems with RSI in my hands and wrists, but I do not have the symptoms of carpal tunnel syndrome. I found squeezing on one of those squeezie balls you can pick up at the sports store helps, as does varying the position of my hands (and using different pointing devices), and especially, not playing games too long at any time. In my experience, that's the worst cause of problems for me.

        Still even though my hands work fine, I'd love to ch
    • So the best way to prevent RSI is to work out a reasonable and healthy work schedule that prevents such excessive usage.

      And where am I going to find a job that lets me work 2 days a week, 4 hours a day, and still pays me enough to cover the mortgage?

  • *Computer, Close Browser*
    Nothing to see here, please move along.
  • Alright! (Score:5, Funny)

    by TechnoGuyRob ( 926031 ) on Thursday April 27, 2006 @11:17PM (#15218302) Homepage
    Pound include less than -- unf -- io -- unf -- stream greater than character return new line feed -- unf -- pound include -- AW SHIT ALL OVER THE KEYBOA--NO MOM, I DIDN'T SAY ANYTHING!
  • by Anonymous Coward on Thursday April 27, 2006 @11:17PM (#15218303)
    "'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.
    • You've obviously never watched Star Trek. Only the head of the team can speak with the computer, the underlings have to use the LCAR panels exclusively. But it works out very very nice from what I've seen.

      "Computer, create a database with all the wormhole related incidents in the Gamma quadrant, running back 200 years. Cross-reference with all known facts on the Bajoran wormhole."
      "Requested processing will take aproximately two hours." ...[two hours later]...
      "Results are ready. One incident found. Stardate
    • uhuh... we do that here all the time... it's called a call-center here though
    • The difficulty is that there isn't the simplicity and more importantly the predictability as there is in normal voice recognition.

      Voice recognition is all fun and dandy- it can look at where you are in a sentence, and narrow down it's choice. It has a list of words to choose from that it can narrow down based on soundex and other phoentetic algorithms. It will 'guess' at the closest match on a noun that sounds like 'fox'... maybe 'box'... Nah- the box wouldn't jump over the lazy dog, so the fox it is.

      Prog
  • What would make all the difference is being able to program the actual voice recognition software, in a macro type sense. Perhaps being able to voice vi commands? "colon-oh" instead of "insert line"

    New hot off the press: VIM - Voice Improved!

  • by serial_crusher ( 591271 ) on Thursday April 27, 2006 @11:20PM (#15218325)
    My workplace is constantly bombarded by the sound of several Indian guys arguing about mundane stuff such as coding conventions and color schemes. I really don't need my computer thinking that's me talking.
  • AHEM, sir! (Score:3, Funny)

    by TechnoGuyRob ( 926031 ) on Thursday April 27, 2006 @11:21PM (#15218329) Homepage
    "It typically takes the better part of a day to get all the pieces installed and working properly," he says. "For someone who has trouble typing, that may seem insurmountable."

    I would like it if you did not use the term "has trouble typing," sir--and make such faulty assumptions about us. I prefer "typographically-challenged," thank you very much.
  • by Khashishi ( 775369 ) on Thursday April 27, 2006 @11:22PM (#15218337) Journal
    void calculate_offsets(Node *foo) {
          int dummy;
          double buffer[ Hey, Smith, what, are; you doing there;
          damn(it)->im.busy_coding.here;
    }

    E443 2:12 syntax error after [
  • by x2A ( 858210 ) on Thursday April 27, 2006 @11:23PM (#15218340)
    ...finally being able to safely program whilst driving! Woot!

    Would finally mean that people learn the difference between brackets, braces, and parenthesis\

  • by StikyPad ( 445176 ) on Thursday April 27, 2006 @11:24PM (#15218343) Homepage
    "For x equals two two to"

    FOR X = 2 to 2

    "Erase word, erase word, erase word"

    FOR X =

    "Twentytwo to"

    FOR X = 222

    "Erase word"

    FOR X =

    "Open parenthesis eleven times two close parenthesis"

    FOR X = ((((((((((())

    "Son of a.."
    • Re:For, four, fore! (Score:4, Interesting)

      by DarkSarin ( 651985 ) on Friday April 28, 2006 @12:09AM (#15218557) Homepage Journal
      I think this pretty much sums it all up. After all I recently played around with the voice recognition stuff built into MS office 2003 (that I didn't even know about until just recently), and found it to be amazingly useful, and rather limited.

      After all, the word recognition rate is limited, and as soon as you start getting away from dictionary words you run into all sorts of problems.

      how do you pronounce some of the function names for php (mssql_query? or maybe a nice bit of perl code? perl golf stuff would be insane!)

      It might work for languages like RUBY with loose syntax (near as I can tell it doesn't really matter what you do as long as you stick with same style for any given block of code), but i doubt C code will lend itself well to such a monstrosity.

      No, in the end, until we have a programming language that reads the way people talk, this won't work. Even then there will be issues.

      Now, if I could just think the structure (or even better, the results) and have it appear on the page, I would be excited about that. Of course, there are lots of times when that would be the opposite of what I wanted.

      Oh well.
    • After looking at your sig for a while, I think I figured out what it means. I'll meet you there, you bring the burritos.
    • "Open parenthesis eleven times two close parenthesis"
      FOR X = ((((((((((())
      "Son of a.."

      I laughed out loud. Bravo.
  • Seems like this is the answer for this guy [slashdot.org].
  • by roman_mir ( 125474 ) on Thursday April 27, 2006 @11:26PM (#15218353) Homepage Journal
    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 :)
  • by 70Bang ( 805280 )


    Reduce or eliminate RSI?

    See our recent discussion how RSI is user-inflicted.


  • I can't wait to use this tool for my exciting one liners in perl!

  • Not the way I code (Score:4, Insightful)

    by litewoheat ( 179018 ) * on Thursday April 27, 2006 @11:37PM (#15218412)
    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.
  • by Pedrito ( 94783 ) on Thursday April 27, 2006 @11:37PM (#15218413)
    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.
    • > But if you dump hungarian notation [...]

      If you dump drinking a quart of gin before work every morning, the quality of your code may improve. If you dump stabbing yourself in the legs with a sharp knife, the pain in your lower extremeties may decrease.

      Unfortunately, I cannot stop using hungarian notation, cannot stop the breakfast gin, and cannot stop stabbing myself...because I was never stupid enough to start! :)
  • by SirSlud ( 67381 ) on Thursday April 27, 2006 @11:40PM (#15218432) Homepage
    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"
    • I don't buy the 22%. I know a lot of programmers. A LOT. I've been programming and typing my ass off since 1970. Maybe one person I've ever met had RSI. So based on my experience, at least, it's a solution looking for a problem, especially if they're counting on that wacky statistic.

      Not that it wouldn't benefit someone with really crippling RSI. I'm all for it. Just, don't tell me 1 out of every 5 programmers is going to switch to voice coding. Nonsense.

  • by rufusdufus ( 450462 ) on Thursday April 27, 2006 @11:42PM (#15218444)
    Imagine you not only have a really good speech recognition system with a good language parser but an actual AI to talk to when you are writing your code. How well would this work? You can find out by getting a human friend to play Oz by 'hiding behind a curtain' and typing what you say in natural language. Try it. Then decide if a system like this will ever be useful.
  • Acid test (Score:3, Funny)

    by marcosdumay ( 620877 ) <marcosdumay@gma[ ]com ['il.' in gap]> on Thursday April 27, 2006 @11:43PM (#15218449) Homepage Journal

    Does it work for Perl? If so, we can say it is done.

  • 22% of all US computer programmers, or 100,000 people
    So the total number of US computer programmers is less than a half million? That seems really low, does anybody know where they might have gotten this data?
    • Re:Huh... (Score:3, Funny)

      by x2A ( 858210 )
      Many programmers aren't classed as people, at least not whole one's.

      • Reminds me of the Dilbert cartoon:
        Dogbert: "I can't decide if it would be better to conquer the world by building an army or starting a religion."

        Dilbert: "Which would have the least loss of life?"

        Dogbert: "That's what I'm trying to calculate on this spreadsheet."

        Dilbert: "Why are you counting law students as two-tenths of a person?

        Dogbert: "It doesn't drop to zero until they pass the bar."
  • by erbmjw ( 903229 ) on Thursday April 27, 2006 @11:49PM (#15218473)
    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.
    • While I like the overall idea, I couldn't imagine doing iit on paper. Now a good monospace text editor with syntax highlighting, yes. Just the ease of being able to copy-paste or insert a piece of code in the middle of something, proper indenting and such makes it all so much more enjoyable. If you skeleton it up, the placeholders could be made into comments as well.

      The point is simply not to have a compiler. In fact, if you have the discipline you can do it directly in the editor - just don't touch the com
      • While I understand your view point; part of the benefit of using pen & paper vs typing out all the code variations is that this process should not cause Repetative Strain Injuries as often as always typing in code changes/etc.
  • by DysenteryInTheRanks ( 902824 ) on Thursday April 27, 2006 @11:51PM (#15218483) Homepage
    I program in Perl, you insensitive clods!

    Try saying $|++; $@?@^W--:!s/$#_/$_/g while <>; for 3000 lines !

    My throat will never recover!

  • So are they able to program their code with their application now?
  • Stallman's Disease (Score:3, Interesting)

    by drwho ( 4190 ) on Thursday April 27, 2006 @11:51PM (#15218486) Homepage Journal
    Some of you may know that RMS (Richard Stallman, GNU hero) suffers from bad RSI. He has to hire people to type the code he dictates. This could be really useful for him. Maybe he'll be a bit less angry when he can code again.
  • Obligatory Picard (Score:2, Interesting)

    by Davus ( 905996 )
    Computer, go to red alert [ytmnd.com]. Wonder if we'll be seeing issues like this?
  • I can't get speech recognition accurate enough that I can type out a damn letter without having to proof read it for sometimes comically embarassing mistakes, and now they reckon you can code with it? I'd hate to be the test code-monkey they tried this on out on. What's the bet they manage to sell it to some PHB though :-)
  • ooh funnn (Score:3, Funny)

    by akhomerun ( 893103 ) on Friday April 28, 2006 @12:22AM (#15218617)
    now we can all sound like trekkin' holideckkers...

    ***Computer! Run program "Picard1"***
  • At least not in cubicle farms...
  • by exp(pi*sqrt(163)) ( 613870 ) on Friday April 28, 2006 @12:38AM (#15218686) Journal
    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.
  • VoiceCode will discriminate non-english speackers...due to accent..etc.Unless it can understand and process all languages. Can you imagine an Idian coder using it and the resulting code? Outsourcing Killer! But with all seriousness BrainCode will be much better...I code in my sleep. Infact I have re-writen google search engine five times.
  • Finally (Score:3, Funny)

    by blair1q ( 305137 ) on Friday April 28, 2006 @12:51AM (#15218730) Journal
    Finally!

    Something to drown out the IM glissandos.
  • Will it confuse "then" with "than" and viceversa like many /.ers here claiming to be programmers? So that it writes "if-than" conditions? =)
  • Obviously spelling code out punctuation with clumsy punctuation words won't do. This program cuts out some of the punctuation, but the real solution is to assign proper (single-syllable) abbreviations, in patterns which allow you to combine them into words wherever you'd want to. If you don't worry about sounding like English you can have a single syllable for every punctuation mark and editor command, plus syllables for "start transcribing string literal"-type commands. It would be easy to learn and you'd
    • Why not go a step further, and encode punctuation as simple sounds? For example, '"' could be 'ti-tick', '.' could be 'pop', '!' could be 'swiish-pop', ',' could be 'shoop', '(' could be 'vvvvvv' (going from high pitch to a low pitch), and ')' could be the opposite.

      Okay, it sounds silly, and I'm basing the idea on Victor Borge's [wikipedia.org] "phonetic punctuation" skit. But if you watch the skit, you'll realize that it would probably work really well.
  • .. of course he doesn't have any hands.

    He's an amputee, he lost both arms near the elbow in an accident when he was little. He types with a pen, and sometimes his elbows on the modifier keys. He writes macros for everything to reduce the number of keystrokes, including things like getting the column list for a table and building an insert statement. Using his voice would only slow him down.

  • I wonder if the developers have ever spoken for 8 hours straight?
  • We thought of combining keyboard-mouse coding with voice recognition software as an aid, but in the end, it would cause too much extra time, which you could spend more effectively. I mean if you keep 15 minute breaks in the hour, switch keyboards and mice from time to time, use ergonomic chairs and well adjusted desk, height, keyboard/mouse location, etc. then you can _very_ much lighten, eliminate or postpone (whatever) any RSI-related injury. And by typing you can get your work done more faster - well, th
  • Isn't this a solution to a problem that goes in the wrong direction? As far as I can tell regularly typing code it disapearing any time soon anyway. They should put the research into an open source object-relational case tool and be done with typing code. Any code that requires typing it extra special and involves more thinking than typing. The more effective my functions get, the more I have to ponder them.

    In ten years from now we'll be building code out of virtual 3D blocks with sensory input for and from
  • Anyone have any experience with different headsets for voice recognition?
    Apparently they hugely affect VR performance in noisy environments.

  • It's all well and good until you realize it's inserting "`fsck`;" every time you say the F word. :)
  • ...with the participants in obfuscated code contests. Or how about using this to program in lisp?

    "Open-paren, open-paren, open-paren, open-paren, open-paren, open-paren, x, close-paren, close-paren, close-paren, close-paren, close-paren, close-paren ..........."
  • by 3seas ( 184403 ) on Friday April 28, 2006 @12:44PM (#15221912) Homepage Journal
    The following link describes a method of enabling your own vocabulary creation.

    http://groups.google.com/group/comp.sys.amiga.misc /msg/117d0698cecc0f46 [google.com]

E = MC ** 2 +- 3db

Working...