Tell me more ×
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.

ie. you speak out the code, and someone else across the room types it in

Anyone tried this?

Obviously the person taking the dictation would need to be a coder too, so you didn't have to explain everything and go into tedious detail (not 'open bracket, new line...' but more like 'create a new class called myParser that takes three arguments, first one is...').

I thought of it because sometimes I'm too easily distracted at my computer. Surrounded by buttons, instant gratification a click away, the world at my fingertips. To get stuff done, I want to get away, write my code on paper. But that would mean losing access to necessary resources, and necessitate tedious typing-up later on. The solution? Dictate.

Pros:

  • no chance to check reddit, stackexchange, gmail, etc.
  • code while you pace the room, lie down, play billiards, whatever
  • train your brain to think more abstractedly (have to visualize things if you can't just see the screen)
  • skip the tedious details (closing brackets etc.)
  • the typist gets to shadow a more experienced programmer and learn how they work
  • the typist can provide assistance/suggestions
  • external pressure of typist expecting instructions, urging you to stay focussed

Cons

  • might be too hard
  • might not work any better
  • rather inefficient use of assisting programmer
  • need to find/pay someone to do this
share|improve this question
I've thought of trying this with speech recognition software, like Dragon, but I haven't done it. – Mike Dunlavey Feb 15 '11 at 1:19
4  
Pair programming is another tool that appears to solve these same issues. – Anon. Feb 15 '11 at 1:21
I wish I could use pair programming but as I'm a student, the project needs to be all my own work. I suppose it also implies more of an equality/parity between skill levels, no? – Andrew M Feb 15 '11 at 1:26
iirc, legend has it that Richard M. Stallman had to dictate code to an assistant at one time, due to suffering from such severe RSI that he was on doctor's orders to absolutely not do any typing. – Carson63000 Feb 15 '11 at 2:10
If the problem is just distractions, let others watch you work. Try orienting your monitor such that it's visible to others. You'll find yourself suddenly not wanting your personal Facebook messages up on the screen and instead appear productive. The appearance of productivity may actually lead to real productivity. – smithco Feb 15 '11 at 3:47
show 3 more comments

3 Answers

up vote 2 down vote accepted

I have tried this, I find it's a good way to introduce a new programmer to a system. The new programmer gets some committed code, and experience using the system, which acts as a big confidence boost when you cut them loose to work alone.

Working in a pair with a programmer who is already familiar with the system (I personally haven't tried this), I would imagine this could be a very effective form of pair programming, as your pair reviews everything you code (since he has to type it!)

share|improve this answer

The Agile Development concept of Pair Programming is actually quite similar to this. While it's not a direct dictation/writing system, you still have one person thinking and producing code, and another person reviewing as the code is written.

Pair Programming incorporates most of the pros you listed, except that both programmers must be at the computer.

I haven't actually tried it myself, but Agile development advocates swear by it. The Wikipedia article linked cites a number of studies where Pair Programming either increased productivity, code quality, time efficiency, or some other factor. So, most of your listed "cons" aren't really cons.

share|improve this answer
I used to use Pair Programming routinely at my last company, I find it boosts productivity tremendously. Though the typing from dictation thing is very hard, due to the technical nature of what you have to dictate. – Orbling Feb 15 '11 at 2:08
In my experience, Pair Programming quickly degenerates to dictation anyways. – smithco Feb 15 '11 at 3:44

I used a variation of Pair Programming at my last job. Some of the problems we encountered were above our skill levels (both of us were just students), so we used to just sit at the same machine and code out a solution to the problem.

Rather than one person tell the other what to code, we just took the keyboard and mouse and coded the next section after explaining what we needed to do. It was good because it promoted respect between the two coders, since we had to relinquish control of the input when appropriate.

Personally I find it very hard to dictate code, though to be fair my experience is not with good coders per-se, normally its people who are learning to code/not very good yet (I'm still a student)

share|improve this answer

Your Answer

 
discard

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.