Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Extreme Pair Programming - Guy Steele and Richard Stallman (cycle-gap.blogspot.com)
31 points by nickb on April 12, 2008 | hide | past | favorite | 19 comments


Incidentally also a convenient counterexample against measuring productivity in LOC.


Or at least against the "more is better" school of thought. 100 lines of Lisp is, however, a non-trivial chunk of code..


Actually, I believe that 50 LOC/person/day is a lot higher than the U.S. average.


From the way he phrased it, though, it sounded like for much or all of the time the net change in LOC was negative.


he adds functionality by removing code :o)


Has anybody tried (or been made to try) pair programming? Was it cool or did it suck?

Being somewhat introverted, I think it could be fun to do with a friend, but with a coworker who I didn't have the same level of rapport with, it would just be aggravating.


I did it for a college project once. It was fun, mostly because we were building something we already had defined, so it was just a matter of implementation and mutually learning the environment (we were using Max/MSP). It probably worked because we were in unfamiliar territory; if we both knew the lang inside and out, I bet we would have just bitten off a bigger chunk and each done our own portion and evolved it further.

I don't think I could do it on a significant project, because I'm always making a bunch of tiny changes that I wouldn't want to have to explain/suggest. Collaboration on a single problem is helpful. Collaboration on a single work of art isn't always. Could you imagine pair painting?


For debugging it's amazingly effective. Even simple coding comes out amazingly bug free when you have a second set of eyes watching as you go. I second that it is intense. I accomplish much more than I would by myself, but I always feel very used up afterwards.


Flow. When pair programming works, you can pair together for hours and be very productive. I can recall some marathon pair-programming sessions where we mind-melded and got things done very quickly.

If there is an imbalance in skills, pair programming will sometimes devolve into one of the developers asserting control and dominating.

The lowest-common denominator form of pair programming "Can you take a look at my code?" is very effective for finding bugs. Simply having to explain yourself can reveal issues.

I hate the term "Can I drive now/do you want to drive" for pair programming.


I like it, though not with everyone and not all the time.

One thing I've observed that's a little counterintuitive is that pair programming works well for many introverts. While it's true that you're engaging with another person, it's equally true that both of you are focused on the ideas and the problem at hand. So it's not an open-ended social activity, but rather a partially social, structured activity. I find this comes more naturally than, say, making idle conversation.

Also, working together on something meaningful provides access to positive social interaction that doesn't necessarily come very often or very easily to the introvert. One can become quite attached to this. I miss it when I'm not working in a collaborative setting.


Have done it quite extensively. Productivity depends on your pair. If the other person is "like-minded", the results are amazing, otherwise, its quite frustrating.


i program with a partner constantly.

for basic/obvious/trivial tasks it's a waste of time and we split up to get through it quicker.

but for breaking new ground and finding solutions on the fly it's been very helpful.


It's very productive and a lot of fun too. When you find someone who's a good wingman, things just click.

I can understand you're concern about getting matched poorly but the experience I had with pair programming is that there is a much greater chance you'll end up working well together and a much smaller chance than you might imagine that things don't work out.

In fact, you could say that pair programming is a great way to develop that rapport with a coworker. It's not just good for the company because the work is done better, I think it's good for you as a person, because people no matter how introverted are really wired to be social.

If someone were really just a toad and would be worse than useless as a partner, chances are that same kind of person won't want to do pair programming with you anyhow.


Pairs programming improves efficiency, because I don't want to look like the slacker who has to check his email (or reddit or Hacker News) 4+ times per hour.


This is a good example of how news.yc has changed over the last year. Or how continuously growing, unfragmented communities inevitably change over time.

The first time it was submitted last year, it went to Chapter 5 of the O'reilly book. http://news.ycombinator.com/item?id=34193

This time it goes to an excerpt reposted on a blog.

Speaking of which, there are a lot of good things from the early days of news.yc that should be reposted. Do we have a repost policy?

I don't want to get banned for reposting things by adding an extra ? to the end.


I'm thumbs up on question mark reposts, personally. That said, you can't really knock the original submitter for linking to this excerpt. There's a lot of value in highlighting just the important part...


And what was the result of this marvelous interlude? The author never tells us.


I believe it was for the pretty print code of emacs


"By the end of the session, they had managed to hack the pretty print source code to just under 100 lines."




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: