Tutorial :Would an application for two people working on the same file help for pair programming? [closed]


I was talking with a recruiter about an opportunity where paired programming is used.

To me there are some concerns about two senior developers working together, as I expect I would be reading while the other is working.

But, as I talked with this recruiter I had a vision of a way that paired programming could be useful, if there was an editor that allowed two people to make changes to the same file at the same time, so, one person could be making comments in a file, as someone else is working on implementing the functionality. The comments could be useful to help explain what the thought patterns were when that functionality was designed, as, if two senior developers are working on some functionality, then it should be a problem of sufficient complexity to warrant some further explanation.

I don't know of any editor that would allow this, as it would probably have to be web-based, in order to see and modify the same problem at the same time.

Would something like this be useful?

What other uses would such a tool have that I would be missing?

I don't care to discuss whether paired programming is a good idea, I have my own opinions, but this concept is very interesting to me.


To have 2 people working simultaneously on different aspects of the same file seems to me to be completely avoiding what pair programming is all about. In pair programming, as I understand it, it's actually the point that only one person is making modifications at any given time. The other person is supposed to be at the same screen, watching the new code for any mistakes, suggest better ways of implementing the code in question, and offer a second mind to bounce ideas off to reach a more effective implementation. So no, I don't think it would be useful in this context.


For people who like such things, there's an interesting editor called SubEthaEdit.

It allows you to see who is working on a document, see their editing region in its own color, track who made changes to a file, etc…

alt text http://www.codingmonkeys.de/subethaedit/images/inline/session.png


Such collaborative editors already exist - Gobby is one I've used, but there are a few others.

We used it last semester to proof read our report - it's a nice tool for such a purpose, although there can be a bit of chaos if everyone tries to edit the same place at the same time.

Would it work? Perhaps. It does require that they maintain that strict division of responsibilities in order to keep the benefits pair programming helps with - it's a bit easier to enforce this when there's only one keyboard. It may also be a bit harder to discuss implementation details - some things can be easier to explain when you have a whiteboard and can talk face-to-face.

On the other hand, using a collaborative editor makes the practice possible without having to bring the two people together in the same room. The two programmers could even sit in different parts of the world while doing this.


Mozilla created BeSpin which if I recall is precisely that https://bespin.mozilla.com/


I agree with Kylotan's initially any about 2 people working on different aspects of the same file is avoiding why there is pair programming. My understanding of pair programming is that together choices are made and while one types in the code that was agreed, the other is acting as that second set of eyes to ensure that it is what was understood. Thus, it isn't just one person typing whatever they want, but putting in what was agreed and getting that agreement can work out many of the details in someone's initial idea that may end up being a good solution thanks to some feedback.

Sometimes we've used 2 keyboards and 2 mice on a computer but generally it is easier to just have one and take turns typing up stuff. If we find some grunt work, we may split up so each does the part that has to be done that isn't hard or tricky, just boring and almost monotonous.


Pair programming is about one having keyboard and mouse, and the other one providing feedback. You can switch these roles or give the keyboard to one and the mouse to the other, but you will always have to work on/think about the same piece of code for it to be pair programming.

I don't see how such an editor could help with this, but I can see how it could hinder.


Such tools doesn't have to be web based. Here are a few one that aren't:

  • Gobby, the collaborative text editor
  • XPairtise, a Distributed Pair Programming Plug-in For Eclipse
  • Jupiter, a code review plug-in tool for the Eclipse IDE (not really pair programming)

But actually, I don't really see the point of using such tools if people are collocated (which is the best configuration for pair programming). For people that are geographically distributed, they might help but it'll never be as good as sitting next to someone.


The situation you have outlined I would describe as "simultaneous editing", not Pair Programming. As others have pointed out, there's a big difference, and there are several tools out there that aim to allow simultaneous editing.


That might be useful, but most of the time it would have nothing to do with pair programming (which I am also sceptic about).

Maybe for the case of distributed pair programming it may help â€" not really editing the same file, but having one programmer edit the file while the other comments on the changes on-screen. That's less disturbing for the one who does programming and still provides for real-time communications.

My more or less humble opinion.


Etherpad is an online, collaborative text editor that I have used in the past. The kind of problem that requires a collaborative text editing solution has been rare in my experience.

Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Next Post »